資料結構是指相互之間存在著一種或多種關係的資料元素的集合和該集合中資料元素之間的關係組成。
1)順序儲存結構
2)鏈式儲存結構1)集合結構
集合結構中的資料元素同屬於乙個集合,他們之間是並列的關係,除此之外沒有其他關係。
2)線性結構
線性結構中的元素存在一對一的相互關係。其中有陣列、棧、佇列、單鏈表、迴圈鍊錶、雙鏈表、遞迴
3)樹形結構
樹形結構中的元素存在一對多的相互關係。
4)圖形結構
圖形結構中的元素存在多對多的相互關係。
在進行演算法分析時,語句總的執行次數t(n)是關於問題規模n的函式,進而分析t(n)隨n的變化情況並確定t(n)的數量級。演算法的時間複雜度,也就是演算法的時間量度,記作:t(n)= o(f(n))。它表示隨問題規模n的增大,演算法執行時間的增長率和f(n)的增長率相同,稱作演算法的漸近時間複雜度,簡稱為時間複雜度。其中f(n)是問題規模n的某個函式。
演算法的空間複雜度通過計算演算法所需的儲存空間實現,演算法的空間複雜度的計算公式記作:s(n)=o(f(n)),其中,n為問題的規模,f(n)為語句關於n所佔儲存空間的函式。
交換排序
氣泡排序
快速排序
插入排序
直接插入排序
希爾排序
選擇排序
簡單選擇排序
堆排序歸併排序
基數排序
根節點、雙親節點、子節點、路徑、節點的度、節點的權、葉子節點、子、層、樹的高度、森林
1)什麼是二叉樹
滿二叉樹:所有葉子節點都在最後一層,而且節點的總數為:2^n-1,n是樹的高度
完全二叉樹:所有葉子節點都在最後一層或者倒數第二層,且最後一層的葉子節點都在左邊連續,倒數第二層的葉子節點在右邊連續
2)鏈式儲存的二叉樹
3)順序儲存的二叉樹
順序儲存的二叉樹通常情況下只考慮完全二叉樹
第n個元素的左子節點是:2n+1
第n個元素的右子節點是:2n+2
第n個元素的父節點是:(n-1)/2
線索化二叉樹分為三種,分別為前序、中序和後序
線索化二叉樹時,乙個節點的前乙個節點,叫前驅節點
線索化二叉樹時,乙個節點的後乙個節點,叫後繼節點
1)赫夫曼樹概述
最優二叉樹:它是n個帶權葉子結點構成的所有二叉樹中,帶權路徑長度最小的二叉樹。
樹的帶權路徑長度wpl(weighted path length):樹中所有葉子結點的帶權路徑長度之和。
2)赫夫曼樹的**實現
取出根節點權值最小的兩顆二叉樹
組成一顆新的二叉樹,前面取出來的兩顆二叉樹是新二叉樹的兩個子樹
根節點的權值是前兩個取出來的兩顆二叉樹的根節點的權值之和
1)概述
平衡二叉樹:任何乙個節點,左子樹和右子樹的高度差的絕對值不超過1
鄰接、路徑、有向圖和無向圖、帶權圖
深度優先搜尋演算法和廣度優先搜尋演算法
資料結構概述
1 資料 資料是資訊的的載體,是描述客觀事物的數 字元,以及所有能輸入到計算機中並被電腦程式識別和處理的符號的集合。資料大致可以分為 數值型資料 整數 浮點數 複數 雙精度數等 非數值型資料 字元 字串,以及文字 圖形 影象 語音等資料 2 資料結構 data structure 資料結構有兩個層次...
資料結構概述
還可以通過另乙個方面來看資料結構,那就是從它們的強項和弱項來看。在這裡用 的 方式來概述主要資料結構。下面的表顯示了不同資料結構的優缺點,大致給出它們的特性,就象從天空中鳥瞰地面的風景一樣。所以如果對其中的術語不太清楚的話,請不要太著急。陣列 插入快,如果知道下標 但查詢慢,刪除慢,大小固定 有序陣...
資料結構 概述
資料結構概述 定義 我們如何把現實中大量而複雜的問題以特定的資料型別和特定的儲存結構 儲存到主儲存器 記憶體 中,以及在此基礎上為實現某個功能 比如查詢 某個元素,刪除某個元素,對所有元素進行排序 而執行的相應操作,這 個相應的操作也叫演算法。資料結構 個體 個體的關係 演算法 對儲存資料的操作 演...