![](https://static.zsdocx.com/FlexPaper/FileRoot/2023-4/18/19/49f9c108-25a2-46a2-9fd2-782eb7913b0f/49f9c108-25a2-46a2-9fd2-782eb7913b0fpic.jpg)
![學習數據結構心得體會_第1頁](https://static.zsdocx.com/FlexPaper/FileRoot/2023-4/18/19/49f9c108-25a2-46a2-9fd2-782eb7913b0f/49f9c108-25a2-46a2-9fd2-782eb7913b0f1.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、學習數據結構心得體會【篇一:數據結構學習總結】數據結構學習總結 數據結構學習總結 通過一學期對《數據結構與算法》的學習,大概的了解了基本的數 通過一學期對《數據結構與算法》的學習,大概的了解了基本的數 據結構和相應的一些算法。下面總結一下自己一個學期學習的收獲 據結構和相應的一些算法。下面總結一下自己一個學期學習的收獲 和心得。 和心得。 數據結構是什么: 數據結構是什么:數據結構是計算機存儲、組織數據的方式。數據結構是指相互之間 數據
2、結構是計算機存儲、組織數據的方式。數據結構是指相互之間 存在一種或多種特定關系的數據元素的集合。通常情況下,精心選 存在一種或多種特定關系的數據元素的集合。通常情況下,精心選 擇的數據結構可以帶來更高的運行或者存儲效率。數據結構往往同 擇的數據結構可以帶來更高的運行或者存儲效率。數據結構往往同高效的檢索算法和索引技術有關。 高效的檢索算法和索引技術有關。 數據結構重要性: 數據結構重要性:一般認為,一個數據結構是由數據元素依據某種邏輯聯
3、系組織起來 一般認為,一個數據結構是由數據元素依據某種邏輯聯系組織起來 的。對數據元素間邏輯關系的描述稱為數據的邏輯結構;數據必須 的。對數據元素間邏輯關系的描述稱為數據的邏輯結構;數據必須 在計算機內存儲,數據的存儲結構是數據結構的實現形式,是其在 在計算機內存儲,數據的存儲結構是數據結構的實現形式,是其在 計算機內的表示;此外討論一個數據結構必須同時討論在該類數據 計算機內的表示;此外討論一個數據結構必須同時討論在該類數據 上執(zhí)行的
4、運算才有意義。一個邏輯數據結構可以有多種存儲結構, 上執(zhí)行的運算才有意義。一個邏輯數據結構可以有多種存儲結構, 且各種存儲結構影響數據處理的效率。在許多類型的程序的設計中, 且各種存儲結構影響數據處理的效率。在許多類型的程序的設計中, 數據結構的選擇是一個基本的設計考慮因素。許多大型系統(tǒng)的構造 數據結構的選擇是一個基本的設計考慮因素。許多大型系統(tǒng)的構造 經驗表明,系統(tǒng)實現的困難程度和系統(tǒng)構造的質量都嚴重的依賴于 經驗表明,系統(tǒng)實現的困難
5、程度和系統(tǒng)構造的質量都嚴重的依賴于 是否選擇了最優(yōu)的數據結構。許多時候,確定了數據結構后,算法 是否選擇了最優(yōu)的數據結構。許多時候,確定了數據結構后,算法就容易得到了。有些時候事情也會反過來,我們根據特定算法來選 就容易得到了。有些時候事情也會反過來,我們根據特定算法來選 擇數據結構與之適應。不論哪種情況,選擇合適的數據結構都是非 擇數據結構與之適應。不論哪種情況,選擇合適的數據結構都是非 常重要的。選擇了數據結構,算法也隨之確定,是數
6、據而不是算法 常重要的。選擇了數據結構,算法也隨之確定,是數據而不是算法 是系統(tǒng)構造的關鍵因素。這種洞見導致了許多種軟件設計方法和程 是系統(tǒng)構造的關鍵因素。這種洞見導致了許多種軟件設計方法和程 序設計語言的出現,面向對象的程序設計語言就是其中之一。 序設計語言的出現,面向對象的程序設計語言就是其中之一。 常見的數據結構: 常見的數據結構:1.1. 順序表: 順序表:定義:順序表是在計算機內存中以數組的形式保存的線性表 定義:順序表是在計
7、算機內存中以數組的形式保存的線性表,是指用 是指用一組地址連續(xù)的存儲單元依次存儲數據元素的線性結構。線性表采 一組地址連續(xù)的存儲單元依次存儲數據元素的線性結構。線性表采用順序存儲的方式存儲就稱之為順序表。順序表是將表中的結點依 用順序存儲的方式存儲就稱之為順序表。順序表是將表中的結點依 次存放在計算機內存中一組地址連續(xù)的存儲單元中。 次存放在計算機內存中一組地址連續(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)。二叉樹 )。二叉樹的每個結點至多只有二棵子樹 的每個結點至多只有二棵子樹(不存在度大于 不存在度大于 2 的結點 的結點),二叉樹的子 ,二叉樹的子樹有左右之分,次序不能顛倒。二叉樹的第 樹有左右之分,次序不能
10、顛倒。二叉樹的第 i 層至多有 層至多有 2 的 i -1i -1 次方 次方個結點;深度為 個結點;深度為 k 的二叉樹至多有 的二叉樹至多有 2^(k) -1 2^(k) -1 個結點;對任何一棵二 個結點;對任何一棵二叉樹 叉樹 t,如果其終端結點數 ,如果其終端結點數(即葉子結點數 即葉子結點數)為 n0 n0,度為 ,度為 2 的結點數為 的結點數為n2 n2,則 ,則 n0 = n2 + 1 n0 = n2 + 1。(1)(
11、1)完全二叉樹 完全二叉樹—— ——若設二叉樹的高度為 若設二叉樹的高度為 h,除第 ,除第 hh 層外,其它各層 層外,其它各層(1 (1~h-1) h-1) 的結點數都達到最大個數,第 的結點數都達到最大個數,第 hh 層有葉子節(jié)點,并且葉子 層有葉子節(jié)點,并且葉子節(jié)點都是從左到右依次排布,這就是完全二叉樹。 節(jié)點都是從左到右依次排布,這就是完全二叉樹。(2)(2)滿二叉樹 滿二叉樹—— ——除了葉結點外每一個結點都有左右子葉且葉結
12、點都 除了葉結點外每一個結點都有左右子葉且葉結點都處在最底層的二叉樹 處在最底層的二叉樹,。(3)(3)深度 深度—— ——二叉樹的層數,就是高度。 二叉樹的層數,就是高度。性質: 性質:(1)(1) 在二叉樹中,第 在二叉樹中,第 i 層的結點總數不超過 層的結點總數不超過 2^(i-1) 2^(i-1);(2)(2) 深度為 深度為 h 的二叉樹最多有 的二叉樹最多有 2^h-1 2^h-1 個結點 個結點(h=1) (h=1),最
13、少有 ,最少有 h 個結點; 個結點;(3)(3) 對于任意一棵二叉樹,如果其葉結點數為 對于任意一棵二叉樹,如果其葉結點數為 n0 n0,而度數為 ,而度數為 2 的結 的結點總數為 點總數為 n2 n2,則 ,則 n0=n2+1 n0=n2+1;(4)(4) 具有 具有 n 個結點的完全二叉樹的深度為 個結點的完全二叉樹的深度為 int int(log2n log2n)+1 +1(5)(5)有 n 個結點的完全二叉樹各結點如果用順序
14、方式存儲,則結點之 個結點的完全二叉樹各結點如果用順序方式存儲,則結點之間有如下關系: 間有如下關系: 若 i 為結點編號則 為結點編號則 如果 如果 i1 i1,則其父結點的編號為 ,則其父結點的編號為 i/2 i/2;如果 如果 2*i=n 2*i=n,則其左兒子(即左子樹的根結點)的編號為 ,則其左兒子(即左子樹的根結點)的編號為 2*i 2*i;若 ;若2*in 2*in,則無左 ,則無左兒子;如果 兒子;如果 2*i+1=n
15、2*i+1=n,則其右兒子的結點編號為 ,則其右兒子的結點編號為 2*i+1 2*i+1;若 ;若 2*i+1n 2*i+1n,則無右兒子。 則無右兒子。(6)(6)給定 給定 n 個節(jié)點,能構成 個節(jié)點,能構成 h(n) h(n)種不同的二叉樹。 種不同的二叉樹。h(n) h(n)為卡特蘭數的 為卡特蘭數的第 n 項。 項。h(n)=c(n,2*n)/(n+1) h(n)=c(n,2*n)/(n+1)。(7)設有 )設有 i 個枝點,
16、 個枝點,i 為所有枝點的道路長度總和, 為所有枝點的道路長度總和,j 為葉的道路長 為葉的道路長度總和 度總和 j=i+2i j=i+2i。二叉樹遍歷: 二叉樹遍歷: 遍歷是對樹的一種最基本的運算,所謂遍歷二叉樹,就是按一定的 遍歷是對樹的一種最基本的運算,所謂遍歷二叉樹,就是按一定的 規(guī)則和順序走遍二叉樹的所有結點,使每一個結點都被訪問一次, 規(guī)則和順序走遍二叉樹的所有結點,使每一個結點都被訪問一次,而且只被訪問一次。由于二叉樹是非
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論