1. 基本數(shù)據(jù)結(jié)構(gòu)
2. 線性表
3. 棧與隊(duì)列
4. 樹(shù)與二叉樹(shù)
1. 基本數(shù)據(jù)結(jié)構(gòu)
t、char、float、bool等。在實(shí)際編程中,我們經(jīng)常需要將這些基本數(shù)據(jù)類(lèi)型組合成復(fù)雜的數(shù)據(jù)結(jié)構(gòu),比如數(shù)組、結(jié)構(gòu)體等。
2. 線性表
線性表是基本的數(shù)據(jù)結(jié)構(gòu)之一,它是一種線性結(jié)構(gòu),具有相同數(shù)據(jù)類(lèi)型的一組數(shù)據(jù)元素按照線性順序排列而成。線性表有兩種存儲(chǔ)方式順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ)。順序存儲(chǔ)是將線性表中的元素順序地存放在一塊連續(xù)的存儲(chǔ)區(qū)中,而鏈?zhǔn)酱鎯?chǔ)則是將線性表中的元素存儲(chǔ)在任意的存儲(chǔ)單元中,通過(guò)指針相互連接而成。
3. 棧與隊(duì)列
棧和隊(duì)列是兩種常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)。棧是一種后進(jìn)先出(LIFO)的數(shù)據(jù)結(jié)構(gòu),它只允許在棧頂進(jìn)行插入和刪除操作。隊(duì)列是一種先進(jìn)先出(FIFO)的數(shù)據(jù)結(jié)構(gòu),它允許在隊(duì)尾進(jìn)行插入操作,在隊(duì)頭進(jìn)行刪除操作。棧和隊(duì)列都可以用順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ)兩種方式實(shí)現(xiàn)。
4. 樹(shù)與二叉樹(shù)
個(gè)互不相交的子集,每個(gè)子集本身又是一個(gè)樹(shù)。二叉樹(shù)是一種特殊的樹(shù)形結(jié)構(gòu),它的每個(gè)節(jié)點(diǎn)多有兩個(gè)子節(jié)點(diǎn),分別稱(chēng)為左子節(jié)點(diǎn)和右子節(jié)點(diǎn)。二叉樹(shù)可以用鏈?zhǔn)酱鎯?chǔ)方式實(shí)現(xiàn)。
圖是一種非線性數(shù)據(jù)結(jié)構(gòu),它由一組節(jié)點(diǎn)和一組邊組成。節(jié)點(diǎn)表示圖中的元素,邊表示節(jié)點(diǎn)之間的關(guān)系。圖可以用鄰接矩陣和鄰接表兩種方式實(shí)現(xiàn),其中鄰接表是一種鏈?zhǔn)酱鎯?chǔ)方式,它將每個(gè)節(jié)點(diǎn)和與之相鄰的節(jié)點(diǎn)都存儲(chǔ)在一個(gè)鏈表中。