資料結構學習記錄與計畫

2021-10-17 12:04:03 字數 2410 閱讀 7534

邏輯結構

線性結構 非線性結構(樹形結構 圖形結構)

#define maxsize 100		

//以下所有定義均為

順序表 -陣列

typedef

sqlist;

//sequence list

一般定義方式為:

int a[maxsize]

;int n;

//長度

單鏈表

typedef

struct lnode

lnode;

//list node

雙鏈表

typedef

struct dlnode

dlnode;

迴圈鍊錶單雙迴圈鍊錶

將最後乙個節點的next指標指向頭節點

靜態鍊錶借助一維陣列來表示 下標 資料 下個節點下標值

刷題(未完成)

順序棧 -陣列 共享棧

鏈棧 頭插法

佇列雙端佇列

順序隊 迴圈佇列

進隊操作 qu.rear=(qu.rear+1)%maxsize;

鏈隊

定義兩個結構體 乙個隊節點 乙個鏈隊[隊頭指標(front)隊尾指標(rear)]

刷題(未完成)

定長順序儲存

變長分配儲存表示(動態分配)

模式匹配演算法:對乙個主串中某子串的定位操作稱為串的模式匹配,待定位的子串稱為模式串

kmp演算法 未學習

刷題(未完成)

陣列

一維二維 行優先 列優先

矩陣:就是多維陣列

矩陣轉置 矩陣相加 矩陣相乘

特殊矩陣常見的有三種

對稱矩陣

三角陣對角矩陣

稀疏矩陣

1. 順序儲存方式

三元組表示法

位址表示法

2. 鏈式儲存

鄰接表表示法

十字鍊錶表示法

廣義表

刷題(未完成)

樹的基本概念

結點的度:結點擁有的子樹個數或者分支的個數;

樹的度:樹中各結點度的最大值;

葉子結點(終端結點):度為0的結點

分支節點(非終端節點):度不是0的結點

二叉樹

儲存結構

遞迴遍歷演算法先序

中序後序

改進-非遞迴遍歷演算法

樹和森林與二叉樹的互相轉換

樹與二叉樹的應用

二叉排序樹與平衡二叉樹

赫夫曼樹和赫夫曼編碼

圖的儲存結構

鄰接矩陣

鄰接表鄰接多重表

圖的遍歷演算法

深度優先搜尋遍歷(dfs)

廣度優先搜尋遍歷(bfs)

最小生成樹

普里姆演算法

可克魯斯卡爾演算法

最短路徑

迪傑斯特拉演算法

佛洛依德演算法

拓撲排序

aov網

拓撲排序核心演算法

關鍵路徑

aoe網

關鍵路徑核心演算法

插入類排序

直接插入排序

折半插入排序

希爾排序

交換類排序

起泡(冒泡)排序

快速排序

選擇類排序

簡單選擇排序

堆排序

二路歸併排序

基數排序

外部排序

stl分析

作業系統

計算機網路

京東攜程順豐類公司

資料結構學習記錄 指標與陣列

陣列一旦被定義,陣列元素將在記憶體中占用一塊連續的儲存單元,陣列名就是這塊連續記憶體單元的首位址。c語言規定 對於指標的算數運算,是以指標指向的資料型別所占用的記憶體單元數為單位1 一維陣列與指標 例如 int a 5 p,q p a 0 陣列a表示陣列元素a 0 的位址,那麼a 1代表元素a 1 ...

9 14資料結構學習記錄

include include includeusing namespace std int main sqstack sqstack st int initstack sqstack st 初始化棧 int empty sqstack st int push sqstack st,int x in...

資料結構學習記錄(一)

因為學資料結構比較頭大 我們學的是c資料結構,而我早已經把c忘光了 看書也有點難懂,所以去leetcode刷題了。今天開始刷題記錄 因為我實在是不想把這麼多東西存到電腦,那麼乾脆雲乙份吧 這些記錄都比較個人,是做給自己看的。給定乙個整數型別的陣列 nums,請編寫乙個能夠返回陣列 中心索引 的方法。...