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