資料結構與演算法分析 積累

2021-09-11 16:43:06 字數 719 閱讀 7672

1.演算法的執行時間計算——大o

一般的for迴圈和巢狀的for迴圈**執行的時間計算差別

2.基本資料結構,表、棧和佇列

抽象資料型別adt

表adt:表的簡單資料實現(相對與刪除或者插入數值時,其付出的代價都是線性且非常昂貴的)

鍊錶,相對表的簡單資料實現,其修改起來更加高效,(是否為空鍊錶、尋找、刪除、)

雙鏈表:是在標準鍊錶的基礎上附加了乙個指向前驅元的指標,一方面使得插入和刪除的難度都增加了一倍、另一方面也是使得刪除的難度在尋找前驅元的時候更容易

迴圈鍊錶:讓最後乙個單元反過來指向第乙個單元

(例子:多項式adt、多重表)

棧adt: 先進後出、後進先出

佇列adt:插入在一端進行,而刪除在另一端進行

3.樹對於大量的輸入資料,鍊錶的線性訪問時間太慢,不宜使用。  樹的運算時間在於o(log n)

二叉樹、先序遍歷、後序遍歷、            

實現類似於雙向鍊錶的事項、乙個元素和兩個指向不同方向的指標 

查詢樹adt-二叉樹查詢樹:在查詢中的使用 makeempty、find/findmax/findmin、insert、delete(比較難以實現)

ali樹:帶有平衡條件的二叉查詢樹、(單旋轉、雙旋轉) 

4.雜湊

沒看懂--------------------------

5.優先佇列

二叉堆、堆序性、刪除最小元、插入、

資料結構與演算法分析

資料結構與演算法分析可以稱得上是程式設計師必須修煉的內功心法。資料的儲存結構 資料元素在計算機中的儲存方式 資料的操作集合 對一種資料型別的資料所有操作,例如對資料的增刪改查等等!演算法分析主要分析 下面是一些常用資料結構 一 線性表 1.陣列實現 2.鍊錶 二 棧與佇列 三 樹與二叉樹 1.樹2....

資料結構與演算法分析

資料結構 大量資料的組織方法 演算法分析 演算法執行時間的估算。涉及到計算效率。設想,如果能把時間限制從16年減至不到1秒,不很神奇嗎?在很多問題中,乙個重要的觀念是 寫出乙個可以工作的程式並不夠。如果這個程式在巨大的資料集上執行,執行時間就成了重要的 問題。演算法,是為求解乙個問題需要遵循的 被清...

資料結構與演算法分析 note

1 explicit建構函式是用來防止隱式轉換的。請看下面的 class test1 普通建構函式 private int num class test2 explicit 顯式 建構函式 private int num int main test1的建構函式帶乙個int型的引數,23行會隱式轉換成...