考研資料結構必須掌握的知識點

2021-09-24 18:02:55 字數 1018 閱讀 6546

時間複雜度判斷理論:o(1) <= o(log2(n)) <= o(n) <= o(n*log2(n)) <= o(n^2) <=...<=o(n^k) <= o(2^n)

空間複雜度判斷理論:

屬性大小

char(unsigned char / signed char)

1個位元組

short int( unsigned short int / signed int)

2個位元組

int( unsigned int / signed int)  

4個位元組

long int( . /. )

8個位元組

float

4個位元組

double

8個位元組

long double 

16個位元組

注意:乙個位元組8位二進位制數。

個人成長路程

階段一:看到乙個程式能夠很快看到它的演算法的時間複雜度(最大時間複雜度)。

階段二:能夠就算出每一部分的(時間複雜度)最大時間複雜度。

階段三:能夠精確的找到可以優化的步驟並找到合適的方式進行優化。

階段四:找到全部可以優化的步驟,用你自己所學的最好的方式進行優化,充分考慮時間複雜度,和空間複雜度。

遇到的問題:

例子:求出下列演算法的時間複雜度。

void fun(int n)

}分析:

第一步:找出基本操作,確定規模n

a:找基本操作(基本操作就是其重複執行次數和演算法的執行時間成正比的操作)重複最多的(最大時間複雜度)

++j;

i+=2;

b:確定規模,基本操作執行的次數。

i < n;迴圈執行的操作和n有關,因此引數n就是規模n。

第二步:計算出n的函式f(n)

i 初值為 1

i+=2

則時間複雜度為:n/2, 因此時間複雜度為:n。

必須要練習的題目:你所遇到的所有演算法題都要進行分析。

資料結構 知識點

定義 度 兒子數 分支節點 除了根和葉子的節點 根的深度為1 資料結構的分類 資料結構分為邏輯結構和物理結構。邏輯結構 表現資料之間的關係的一種資料結構,分為線性結構和非線性結構。物理結構 表現資料如何儲存的一種資料結構,通常分為順序結構 鏈式結構 索引結構和雜湊結構。有序表,也叫有序線性表,資料按...

資料結構知識點

1 線性結構與非線性結構 線性結構 線性表,棧,隊 乙個根節點,最多乙個前節點乙個後節點 首節點無前節點,尾接點無後節點 非線性結構 樹形結構,圖形結構 線性表 由一組資料元素構成,資料元素的位置只取決於自己的序號 陣列 棧 限定只能在表的一端進行插入和刪除,先進後出,只能在棧頂進出 佇列 只能在表...

資料結構,知識點

二叉樹 定義 二叉樹在圖論中是這樣定義的 二叉樹是乙個連通的無環圖,並且每乙個頂點的度不大於3。有根二叉樹還要滿足根節點的度不大於2。基本概念 二叉樹是遞迴定義的,其結點有左右之分,邏輯上二叉樹有五種基本形態 1 空二叉樹 2 只有乙個根節點的二叉樹 3 只有左子樹 4 只有右子樹 5 完全二叉樹。...