數(shù)據(jù)結(jié)構(gòu)的類型:
集合結(jié)構(gòu)鼎天、線型結(jié)構(gòu)舀奶、樹形結(jié)構(gòu)、圖形結(jié)構(gòu)
一斋射、概念
- 集合結(jié)構(gòu):
集合結(jié)構(gòu)就是一個(gè)集合育勺,就是一個(gè)圓圈中有很多個(gè)元素,元素與元素之間沒有任何關(guān)系罗岖。
- 線性結(jié)構(gòu):
就是一個(gè)條線上站著很多個(gè)人涧至,這條線不一定是直的,也可以是彎的桑包。相當(dāng)于一條線被分成了好幾段的樣子南蓬。線性結(jié)構(gòu)是一對(duì)一的關(guān)系。
- 樹形結(jié)構(gòu):
做開發(fā)的肯定或多或少的知道xml解析樹形結(jié)構(gòu)跟他非常類似,也可以想象成一個(gè)金字塔,樹形結(jié)構(gòu)是一對(duì)多的關(guān)系哑了。
- 圖形結(jié)構(gòu):
這個(gè)就比較復(fù)雜它屬于無窮赘方、無邊、無向弱左,圖形機(jī)構(gòu)可以理解為多對(duì)多窄陡,類似于我們?nèi)说慕浑H關(guān)系。
二科贬、數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)
數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)方式一般常用的有順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ)兩種結(jié)構(gòu)方式泳梆。
- 順序存儲(chǔ)結(jié)構(gòu)
數(shù)組:1-2-3-4-5-6-7-8-9-10。這個(gè)就是一個(gè)順序存儲(chǔ)結(jié)構(gòu),存儲(chǔ)是按順序的 舉例棧是先進(jìn)后出,后進(jìn)先出的形式榜掌。
- 鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
鏈?zhǔn)酱鎯?chǔ)是按數(shù)據(jù)的地址來進(jìn)行存儲(chǔ)的优妙,而且存儲(chǔ)時(shí)不按順序進(jìn)行,有1憎账,2套硼,3,4胞皱,5邪意,6 他們分別對(duì)應(yīng)著各自的地址。執(zhí)行方式是按小到大的順序進(jìn)行排序執(zhí)行反砌,但是存儲(chǔ)是完全屬于隨機(jī)進(jìn)行雾鬼。
三、單向鏈表\雙向鏈表\循環(huán)鏈表
-
單向鏈表
A->B->C->D->E->F->G->H. 這就是單向鏈表 H 是頭 A 是尾 像一個(gè)只有一個(gè)頭的火車一樣 只能一個(gè)頭拉著跑
-
雙向鏈表
H<- A->B->C->D->E->F->G->H. 這就是雙向鏈表宴树。有頭沒尾策菜。兩邊都可以跑 跟地鐵一樣 到頭了 可以倒著開回來
循環(huán)鏈表
發(fā)揮想象力 A->B->C->D->E->F->G->H. 繞成一個(gè)圈。就像蛇吃自己的這就是循環(huán) 不需要去死記硬背哪些理論知識(shí)
四、二叉樹/平衡二叉樹
- 二叉樹的定義
二叉樹是每個(gè)節(jié)點(diǎn)最多有兩個(gè)子樹的有序樹又憨。通常子樹被稱作“左子樹”(left subtree)和“右子樹”(right subtree)翠霍。二叉樹常被用于實(shí)現(xiàn)二叉查找樹和二叉堆
2.二叉樹的基本概念
二叉樹是遞歸定義的,其結(jié)點(diǎn)有左右子樹之分蠢莺,邏輯上二叉樹有五種基本形態(tài):
2.1. 空二叉樹
2.2. 只有一個(gè)根結(jié)點(diǎn)的二叉樹
2.3. 只有左子樹
2.4. 只有右子樹
2.5. 完全二叉樹