學(xué)數(shù)據(jù)結(jié)構(gòu)需要先學(xué)c語言嗎 數(shù)據(jù)結(jié)構(gòu)的描述方式?
數(shù)據(jù)結(jié)構(gòu)的描述方式?典型數(shù)據(jù)結(jié)構(gòu)集合:數(shù)據(jù)元素之間沒有明確的關(guān)系,即將一組數(shù)據(jù)元素打包為一個整體。順序:數(shù)據(jù)元素之間有明確的順序關(guān)系。層序結(jié)構(gòu)及其變形特征如下,每一單元至多有一個后繼單元。層次結(jié)構(gòu):其
數(shù)據(jù)結(jié)構(gòu)的描述方式?
典型數(shù)據(jù)結(jié)構(gòu)
集合:數(shù)據(jù)元素之間沒有明確的關(guān)系,即將一組數(shù)據(jù)元素打包為一個整體。
順序:數(shù)據(jù)元素之間有明確的順序關(guān)系。層序結(jié)構(gòu)及其變形特征如下,每一單元至多有一個后繼單元。
層次結(jié)構(gòu):其元素屬于不同的級別。上級元素可以與一個或下級元素相關(guān)聯(lián)。只有從上層到下層,才允許交叉層。
樹形結(jié)構(gòu):屬于層次結(jié)構(gòu),其特點是樹形結(jié)構(gòu)中只有一個上層數(shù)據(jù)元,稱為根。
圖:顯示數(shù)據(jù)元素之間的關(guān)系。
功能數(shù)據(jù)結(jié)構(gòu):堆棧、隊列、字典等
計算機(jī)內(nèi)存對象表示
內(nèi)存單元和地址
內(nèi)存是CPU可以直接訪問的數(shù)據(jù)存儲設(shè)備,程序中直接使用的數(shù)據(jù)存儲在內(nèi)存中。存儲在外部存儲器(如磁盤、CD、磁帶)中的數(shù)據(jù)必須先裝入存儲器,然后CPU才能使用它們。
存儲器的基本結(jié)構(gòu)是存儲單元的線性陣列;存儲器由許多存儲器單元組成。一般來說,一個存儲單元可以保存一個字節(jié)的數(shù)據(jù),并且該存儲單元有一個唯一的編號,稱為單元地址。通常,單元地址從0開始連續(xù)排列。
對象存儲與管理
對于程序運行中創(chuàng)建的對象,計算機(jī)將根據(jù)實際情況確定空閑內(nèi)存中的一個或多個區(qū)域,并為其安排位置。此外,當(dāng)某個對象不再有用時,存儲管理系統(tǒng)將嘗試恢復(fù)占用的存儲并將其留給其他對象。
在內(nèi)存中創(chuàng)建的所有對象都有特定的唯一標(biāo)識,用于標(biāo)識和使用對象。在一個對象的生命周期中,它的身份保持不變,這是對象使用的基本原則。此唯一標(biāo)識符通常由內(nèi)存地址表示。
我現(xiàn)在沒學(xué)完C語言,但是學(xué)校已經(jīng)開了數(shù)據(jù)結(jié)構(gòu)課程,感覺像聽天書一樣,如何更好地理解數(shù)據(jù)結(jié)構(gòu)?
首先,我認(rèn)為作為一名大學(xué)生,自學(xué)能力很強(qiáng)。對于C語言沒有學(xué)完的,可以花時間認(rèn)真學(xué)習(xí)。不,你可以去圖書館查資料,或者上網(wǎng),或者自學(xué)?,F(xiàn)在網(wǎng)絡(luò)平臺有很多優(yōu)質(zhì)資源,你可以試試。第二,數(shù)據(jù)結(jié)構(gòu)的算法是抽象的,必須認(rèn)真研究。它是編程的基礎(chǔ),與C語言沒有必然的聯(lián)系。我們可以用C語言實現(xiàn)一些算法。它也可以用其他語言實現(xiàn)。
第三,對自己有信心。沒有問題可以與老師和同學(xué)交流。既然我們選了一個好專業(yè),就應(yīng)該深入學(xué)習(xí)。
這是我的一些看法,希望對您有所幫助!