學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)心得體會_第1頁
已閱讀1頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)心得體會【篇一:數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)總結(jié)】數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)總結(jié) 數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)總結(jié) 通過一學(xué)期對《數(shù)據(jù)結(jié)構(gòu)與算法》的學(xué)習(xí),大概的了解了基本的數(shù) 通過一學(xué)期對《數(shù)據(jù)結(jié)構(gòu)與算法》的學(xué)習(xí),大概的了解了基本的數(shù) 據(jù)結(jié)構(gòu)和相應(yīng)的一些算法。下面總結(jié)一下自己一個學(xué)期學(xué)習(xí)的收獲 據(jù)結(jié)構(gòu)和相應(yīng)的一些算法。下面總結(jié)一下自己一個學(xué)期學(xué)習(xí)的收獲 和心得。 和心得。 數(shù)據(jù)結(jié)構(gòu)是什么: 數(shù)據(jù)結(jié)構(gòu)是什么:數(shù)據(jù)結(jié)構(gòu)是計算機(jī)存儲、組織數(shù)據(jù)的方式。數(shù)據(jù)結(jié)構(gòu)是指相互之間 數(shù)據(jù)

2、結(jié)構(gòu)是計算機(jī)存儲、組織數(shù)據(jù)的方式。數(shù)據(jù)結(jié)構(gòu)是指相互之間 存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。通常情況下,精心選 存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。通常情況下,精心選 擇的數(shù)據(jù)結(jié)構(gòu)可以帶來更高的運行或者存儲效率。數(shù)據(jù)結(jié)構(gòu)往往同 擇的數(shù)據(jù)結(jié)構(gòu)可以帶來更高的運行或者存儲效率。數(shù)據(jù)結(jié)構(gòu)往往同高效的檢索算法和索引技術(shù)有關(guān)。 高效的檢索算法和索引技術(shù)有關(guān)。 數(shù)據(jù)結(jié)構(gòu)重要性: 數(shù)據(jù)結(jié)構(gòu)重要性:一般認(rèn)為,一個數(shù)據(jù)結(jié)構(gòu)是由數(shù)據(jù)元素依據(jù)某種邏輯聯(lián)

3、系組織起來 一般認(rèn)為,一個數(shù)據(jù)結(jié)構(gòu)是由數(shù)據(jù)元素依據(jù)某種邏輯聯(lián)系組織起來 的。對數(shù)據(jù)元素間邏輯關(guān)系的描述稱為數(shù)據(jù)的邏輯結(jié)構(gòu);數(shù)據(jù)必須 的。對數(shù)據(jù)元素間邏輯關(guān)系的描述稱為數(shù)據(jù)的邏輯結(jié)構(gòu);數(shù)據(jù)必須 在計算機(jī)內(nèi)存儲,數(shù)據(jù)的存儲結(jié)構(gòu)是數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)形式,是其在 在計算機(jī)內(nèi)存儲,數(shù)據(jù)的存儲結(jié)構(gòu)是數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)形式,是其在 計算機(jī)內(nèi)的表示;此外討論一個數(shù)據(jù)結(jié)構(gòu)必須同時討論在該類數(shù)據(jù) 計算機(jī)內(nèi)的表示;此外討論一個數(shù)據(jù)結(jié)構(gòu)必須同時討論在該類數(shù)據(jù) 上執(zhí)行的

4、運算才有意義。一個邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu), 上執(zhí)行的運算才有意義。一個邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu), 且各種存儲結(jié)構(gòu)影響數(shù)據(jù)處理的效率。在許多類型的程序的設(shè)計中, 且各種存儲結(jié)構(gòu)影響數(shù)據(jù)處理的效率。在許多類型的程序的設(shè)計中, 數(shù)據(jù)結(jié)構(gòu)的選擇是一個基本的設(shè)計考慮因素。許多大型系統(tǒng)的構(gòu)造 數(shù)據(jù)結(jié)構(gòu)的選擇是一個基本的設(shè)計考慮因素。許多大型系統(tǒng)的構(gòu)造 經(jīng)驗表明,系統(tǒng)實現(xiàn)的困難程度和系統(tǒng)構(gòu)造的質(zhì)量都嚴(yán)重的依賴于 經(jīng)驗表明,系統(tǒng)實現(xiàn)的困難

5、程度和系統(tǒng)構(gòu)造的質(zhì)量都嚴(yán)重的依賴于 是否選擇了最優(yōu)的數(shù)據(jù)結(jié)構(gòu)。許多時候,確定了數(shù)據(jù)結(jié)構(gòu)后,算法 是否選擇了最優(yōu)的數(shù)據(jù)結(jié)構(gòu)。許多時候,確定了數(shù)據(jù)結(jié)構(gòu)后,算法就容易得到了。有些時候事情也會反過來,我們根據(jù)特定算法來選 就容易得到了。有些時候事情也會反過來,我們根據(jù)特定算法來選 擇數(shù)據(jù)結(jié)構(gòu)與之適應(yīng)。不論哪種情況,選擇合適的數(shù)據(jù)結(jié)構(gòu)都是非 擇數(shù)據(jù)結(jié)構(gòu)與之適應(yīng)。不論哪種情況,選擇合適的數(shù)據(jù)結(jié)構(gòu)都是非 常重要的。選擇了數(shù)據(jù)結(jié)構(gòu),算法也隨之確定,是數(shù)

6、據(jù)而不是算法 常重要的。選擇了數(shù)據(jù)結(jié)構(gòu),算法也隨之確定,是數(shù)據(jù)而不是算法 是系統(tǒng)構(gòu)造的關(guān)鍵因素。這種洞見導(dǎo)致了許多種軟件設(shè)計方法和程 是系統(tǒng)構(gòu)造的關(guān)鍵因素。這種洞見導(dǎo)致了許多種軟件設(shè)計方法和程 序設(shè)計語言的出現(xiàn),面向?qū)ο蟮某绦蛟O(shè)計語言就是其中之一。 序設(shè)計語言的出現(xiàn),面向?qū)ο蟮某绦蛟O(shè)計語言就是其中之一。 常見的數(shù)據(jù)結(jié)構(gòu): 常見的數(shù)據(jù)結(jié)構(gòu):1.1. 順序表: 順序表:定義:順序表是在計算機(jī)內(nèi)存中以數(shù)組的形式保存的線性表 定義:順序表是在計

7、算機(jī)內(nèi)存中以數(shù)組的形式保存的線性表,是指用 是指用一組地址連續(xù)的存儲單元依次存儲數(shù)據(jù)元素的線性結(jié)構(gòu)。線性表采 一組地址連續(xù)的存儲單元依次存儲數(shù)據(jù)元素的線性結(jié)構(gòu)。線性表采用順序存儲的方式存儲就稱之為順序表。順序表是將表中的結(jié)點依 用順序存儲的方式存儲就稱之為順序表。順序表是將表中的結(jié)點依 次存放在計算機(jī)內(nèi)存中一組地址連續(xù)的存儲單元中。 次存放在計算機(jī)內(nèi)存中一組地址連續(xù)的存儲單元中。 基本運算: 基本運算: 置表空: 置表空:sqlsetn

8、ull sqlsetnull(l)判表滿: )判表滿:sqlempty sqlempty(l)求表長: 求表長:sqllength(l) sqllength(l)插入: 插入:sqlinsert sqlinsert(l,i,x l,i,x) 按序號取元素: 按序號取元素:sqlget sqlget(l,i l,i) 刪除: 刪除:sqldelete(l,i) sqldelete(l,i)定義:二叉樹是每個節(jié)點最多有兩個子樹的有序樹。通常

9、子樹被稱 定義:二叉樹是每個節(jié)點最多有兩個子樹的有序樹。通常子樹被稱 作“左子樹 左子樹”(left subtree left subtree)和 )和“右子樹 右子樹”(right subtree right subtree)。二叉樹 )。二叉樹的每個結(jié)點至多只有二棵子樹 的每個結(jié)點至多只有二棵子樹(不存在度大于 不存在度大于 2 的結(jié)點 的結(jié)點),二叉樹的子 ,二叉樹的子樹有左右之分,次序不能顛倒。二叉樹的第 樹有左右之分,次序不能

10、顛倒。二叉樹的第 i 層至多有 層至多有 2 的 i -1i -1 次方 次方個結(jié)點;深度為 個結(jié)點;深度為 k 的二叉樹至多有 的二叉樹至多有 2^(k) -1 2^(k) -1 個結(jié)點;對任何一棵二 個結(jié)點;對任何一棵二叉樹 叉樹 t,如果其終端結(jié)點數(shù) ,如果其終端結(jié)點數(shù)(即葉子結(jié)點數(shù) 即葉子結(jié)點數(shù))為 n0 n0,度為 ,度為 2 的結(jié)點數(shù)為 的結(jié)點數(shù)為n2 n2,則 ,則 n0 = n2 + 1 n0 = n2 + 1。(1)(

11、1)完全二叉樹 完全二叉樹—— ——若設(shè)二叉樹的高度為 若設(shè)二叉樹的高度為 h,除第 ,除第 hh 層外,其它各層 層外,其它各層(1 (1~h-1) h-1) 的結(jié)點數(shù)都達(dá)到最大個數(shù),第 的結(jié)點數(shù)都達(dá)到最大個數(shù),第 hh 層有葉子節(jié)點,并且葉子 層有葉子節(jié)點,并且葉子節(jié)點都是從左到右依次排布,這就是完全二叉樹。 節(jié)點都是從左到右依次排布,這就是完全二叉樹。(2)(2)滿二叉樹 滿二叉樹—— ——除了葉結(jié)點外每一個結(jié)點都有左右子葉且葉結(jié)

12、點都 除了葉結(jié)點外每一個結(jié)點都有左右子葉且葉結(jié)點都處在最底層的二叉樹 處在最底層的二叉樹,。(3)(3)深度 深度—— ——二叉樹的層數(shù),就是高度。 二叉樹的層數(shù),就是高度。性質(zhì): 性質(zhì):(1)(1) 在二叉樹中,第 在二叉樹中,第 i 層的結(jié)點總數(shù)不超過 層的結(jié)點總數(shù)不超過 2^(i-1) 2^(i-1);(2)(2) 深度為 深度為 h 的二叉樹最多有 的二叉樹最多有 2^h-1 2^h-1 個結(jié)點 個結(jié)點(h=1) (h=1),最

13、少有 ,最少有 h 個結(jié)點; 個結(jié)點;(3)(3) 對于任意一棵二叉樹,如果其葉結(jié)點數(shù)為 對于任意一棵二叉樹,如果其葉結(jié)點數(shù)為 n0 n0,而度數(shù)為 ,而度數(shù)為 2 的結(jié) 的結(jié)點總數(shù)為 點總數(shù)為 n2 n2,則 ,則 n0=n2+1 n0=n2+1;(4)(4) 具有 具有 n 個結(jié)點的完全二叉樹的深度為 個結(jié)點的完全二叉樹的深度為 int int(log2n log2n)+1 +1(5)(5)有 n 個結(jié)點的完全二叉樹各結(jié)點如果用順序

14、方式存儲,則結(jié)點之 個結(jié)點的完全二叉樹各結(jié)點如果用順序方式存儲,則結(jié)點之間有如下關(guān)系: 間有如下關(guān)系: 若 i 為結(jié)點編號則 為結(jié)點編號則 如果 如果 i1 i1,則其父結(jié)點的編號為 ,則其父結(jié)點的編號為 i/2 i/2;如果 如果 2*i=n 2*i=n,則其左兒子(即左子樹的根結(jié)點)的編號為 ,則其左兒子(即左子樹的根結(jié)點)的編號為 2*i 2*i;若 ;若2*in 2*in,則無左 ,則無左兒子;如果 兒子;如果 2*i+1=n

15、2*i+1=n,則其右兒子的結(jié)點編號為 ,則其右兒子的結(jié)點編號為 2*i+1 2*i+1;若 ;若 2*i+1n 2*i+1n,則無右兒子。 則無右兒子。(6)(6)給定 給定 n 個節(jié)點,能構(gòu)成 個節(jié)點,能構(gòu)成 h(n) h(n)種不同的二叉樹。 種不同的二叉樹。h(n) h(n)為卡特蘭數(shù)的 為卡特蘭數(shù)的第 n 項。 項。h(n)=c(n,2*n)/(n+1) h(n)=c(n,2*n)/(n+1)。(7)設(shè)有 )設(shè)有 i 個枝點,

16、 個枝點,i 為所有枝點的道路長度總和, 為所有枝點的道路長度總和,j 為葉的道路長 為葉的道路長度總和 度總和 j=i+2i j=i+2i。二叉樹遍歷: 二叉樹遍歷: 遍歷是對樹的一種最基本的運算,所謂遍歷二叉樹,就是按一定的 遍歷是對樹的一種最基本的運算,所謂遍歷二叉樹,就是按一定的 規(guī)則和順序走遍二叉樹的所有結(jié)點,使每一個結(jié)點都被訪問一次, 規(guī)則和順序走遍二叉樹的所有結(jié)點,使每一個結(jié)點都被訪問一次,而且只被訪問一次。由于二叉樹是非

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論