資料結構複習

2022-06-26 06:54:09 字數 2897 閱讀 9242

目錄題型:

分析題30

簡答題40

應用題30 (寫程式10分) .

今年比較特殊,好像題比往年簡單,然而我還是感到頭禿。

計算時間複雜度

注意:

乙個語句本身的程式步數可能不等於該語句一次 執行所具有的程式步數。

例如:賦值語句 x = sum (r, n) 賦值操作的程式步數為 1;

一次執行對函式 sum (r, n) 的呼叫需要的程式步 數為 2 * n+3;

一次執行的程式步數為 1+2 * n+3 = 2 * n+4

大o的表示方法

t(n) = o(f(n)) 稱f(n)為演算法的「漸進」時間複雜度 ,簡稱時間複雜度,以簡化演算法複雜性的分析。

說明:在計算演算法時間複雜度時,可以忽略所有低次冪和最高次冪的係數。

大o的運算規則

• 加法準則(並列程式段 )

前提:\(t_1\)(m) = o(f(m)); \(t_2\)(n) = o(g(n))

結論:\(t\)(n)= \(t_1\)+\(t_2\) = o(f(n)+g(n))

\(t\)(n) = \(t_1\)+\(t_2\) = o(max(f(m),g(n)))

• 乘法準則(巢狀程式段)

前提:\(t_1\)(n) = o(f(n)); \(t_2\)(n) = o(g(n))

結論:\(t\)(n) = \(t_1\)* \(t_2\) = o(f(n)*g(n))

常見函式的增長率

例1

void exam ( float x[ ][ ], int m, int n )       

for ( i = 0; i < m; i++ ) //列印各行資料和

cout << i << 「 : 」 <例2

void bubble_sort(int a, int n )

} }// bubble_sort

//基本操作:賦值操作。時間複雜度:o(n^2)--最壞情況下時間複雜度

bubblesort n-1趟 bubbleexchange ( ) n-i次比較

當輸入的資料已經排好序, 只要比較n-1次, 當輸入的資料是減序,需要 比較n(n-1)/2次。

線性結構:

棧和佇列

棧序列棧佇列的邊界條件

雙向迴圈鏈的基本操作

迴圈佇列的判空判滿操作

資料結構第二章筆記

資料結構第三章筆記

一維陣列求位址

遞推式 \(loc ( i ) = loc ( i -1 ) + l =α+ i*l\)

二維陣列求位址

n行m列的二維陣列:

行優先 \(loc ( j, k ) = a + ( j * m + k ) * l\)

n維陣列

各維元素個數為 \(m_1\), \(m_2\), \(m_3\), …, \(m_n\)

\(loc\) ( \(i_1\), \(i_2\), …, \(i_n\) ) = a +

( \(i_1\)* \(m_2\)* \(m_3\)* …* \(m_n\) + \(i_2\)* \(m_3\)* \(m_4\)* …* \(m_n\)+……+ \(i_\)*\(m_n\) + \(i_n\) ) * l

=a+( \(\sum_^\)

\(i_j\) *\(\prod_^\)

\(m_k\)+\(i_n\)) *l

樹(要求**):

樹的特性(知道其推導過程)

樹的遍歷(深度和層次遍歷及其應用)

樹的建立(先根和後根序列確定一棵樹)

樹和二叉樹的轉換,

堆哈夫曼樹及編碼

資料結構第五章筆記

集合:

雜湊表:建立和衝突檢測、查詢長度( 成功和非成功)

資料結構第六章筆記

搜尋:

折半搜尋原理及適用條件

二叉判定樹的結構

三叉排序樹的建立和刪除

資料結構第七章筆記

圖(掌握原理):

圖的儲存結構

深度和廣度序列

圖(強)連通,(強)連通分量

最小生成樹演算法

最短路徑和最短路徑長度

拓撲排序

資料結構第八章筆記

排序演算法(掌握原理)

直接插入、折半插入、希爾排序、冒泡、快排(重點)、簡單選擇、堆排序

資料結構第九章筆記

資料結構複習

1 二叉遍歷 先序遍歷 先遍歷根結點,遍歷左子樹,遍歷右子樹 中序遍歷 先遍歷左子樹,遍歷根結點,遍歷右子樹 後序遍歷 先遍歷左子樹,遍歷右子樹,遍歷根結點 例項 遍歷a b c d e f 如 a e f b c d 先序遍歷 a b cd ef 中序遍歷 a b c d e f 後序遍歷 abc...

資料結構複習

個人理解 1 我認為關鍵是如何合理地將資料放到樹形結構裡 放的方式就是中序排序,即遍歷一遍順序與之相同 2 二叉搜尋樹類似於二分,可以與折半搜尋相比較,雖然思想相似,但是他們的時間效能有時不相同 例如 如果防止不當,42放到了左半枝,這樣就會導致如果輸入31開始比對就會產生位置確認不準確的問題 把一...

複習 資料結構

因為要準備複試,想把專業課順一下,在此簡單記錄。主要按照本科課件複習。資料結構的概念 邏輯結構 邏輯結構可以分為線性結構和非線性結構 儲存結構 儲存結構包括順序 鏈結 索引和雜湊四種方法。鏈結儲存 通過在結點的儲存結構中附加指標欄位來儲存結點間的邏輯關係。資料結點由資料字段 存放結點本身資料 和指標...