【資料結構】
【資料的邏輯結構】:資料的邏輯結構是對資料之間關係的描述,它與資料的儲存結構無關,同一種邏輯結構可以有多種儲存結構。歸納起來資料的邏輯結構主要由以下兩大類:
需滿足4個條件:
1.必存在唯一乙個第乙個元素
2.必存在唯一乙個最後乙個元素
3.除最後乙個元素外,別的元素都有唯一乙個後繼
4.除第乙個元素之外,其他資料元素均有唯一的前驅。
【資料的物理結構(儲存結構)】:
是邏輯結構在計算機中的表示。它包括資料元素的表示和關係的表述。當資料元素是由若干資料項構成的時候,資料項的表示稱為資料域。例如:乙個鍊錶結點,結點包含值域和指標域。
資料元素之間的關係在計算機中有【順序映像】和【非順序映像】。對應兩種不同的儲存結構分別是【順序儲存結構】和【鏈式儲存結構】
1.【順序儲存方法】:邏輯上的相鄰結點存在物理位置上的相鄰的儲存單元。
2.【鏈式儲存方法】:不要求物理位置上相鄰,用附加的指標表示邏輯關係。
【演算法的基本概念】:
演算法:由基本運算及規定的運算順序所構成的完整的解題步驟,或者堪稱按照要求設計好的有限的確切的計算序列。
演算法的特性:有窮性、確定性、輸入、輸出、可行性。
演算法的設計目標:正確性、可讀性、健壯性、演算法效率(高效率低儲存)。
資料結構 資料結構演算法
分治法 對於乙個規模為n的問題,若該問題可以容易地解決 比如說規模n較小 則直接解決 否則將其分解為k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞迴地解這些子問題,然後將各子問題的解合併得到原問題的解。動態規劃法 這種演算法也用到了分治思想,它的做法是將問題例項分解為更小的 相似的子...
資料結構和演算法 (1)資料結構的基本知識
1號 2號 3號 4號 比如1號元素存放在這,2號元素緊挨著它,3號元素緊挨著2號,以此類推,這是順序儲存,例如排隊買東西 為什麼出現鏈式儲存,就因為比如排隊買東西的話,前邊人太多,此時你有緊急事情需要離開以下,但是你再次回來的時候,即使還是沒有輪到你原來離開時的位置,別人也不會讓你插隊站在你原來的...
演算法導論 5 基本資料結構
最基本的資料結構 棧 佇列 鍊錶 二叉樹。這一篇主要實現前三種資料結構,記錄一部分習題的思路。這一篇比較簡單,但算是學習更高階資料結構的良好開端吧。先進後出。最主要的方法是push element 個pop 前者壓入乙個元素,後者彈出乙個元素。用陣列實現乙個簡單的棧。stack template c...