數據結構與算法
1、數據結構的概念和分類
1.1 基本的概念
在計算機中,數據結構就是指計算機描述和存儲數據的方式
主要描述數據元素之間的邏輯關係以及計算機存儲形式
空間複雜度,時間複雜度
計算機程序 = 數據結構 + 算法
1.2 基本的分類/層次結構
(1)邏輯結構 - 抽象層
主要描述數據結構元素之間的邏輯關係
(2)物理結構 - 結構層
主要描述數據元素之間的位置關係以及存儲形式
(3)運算結構 - 實現層
主要描述如何實現該結構以及該結構的基本操作
1.3 邏輯結構的分類
(1)集合結構
(2)線性結構 前趨與後繼
(3)樹形結構 根、葉子
(4)網狀結構
1.4 物理結構
(1)順序存儲結構
一組連續的存儲區,可使用C語言的數組描述
(2)鏈式存儲結構
不連續存儲單元,可用結構體鏈表實現
1.5 邏輯結構和物理結構的關係
每種邏輯結構採用何種物理結構來實現並沒有明確規定
甚至某些特性情況下,同一種邏輯結構可能需要多種物
理結構配合來實現
1.6 運算結構
(1)創建 與 銷燬
分配資源實現創建 => 建立數據結構 =>銷燬佔用資源
(2)插入 和 刪除
向數據結構中增加元素 和 從數據結構中減少元素
(3)修改 和 查找 以及 排序
修改元素的值 使用查找算法 和 排序算法
---------------------------------------------------------------------
2. 堆棧(stack)的基本特徵和實現
2.1 基本特徵
具有後進先出特徵的數據結構叫做堆棧
LIFO(last in first out)
堆棧是隻能在一端增刪元素的數據結構,該位置稱爲棧頂
2.2基本操作
創建(creat)\ 銷燬(destroy) \ 入棧(push)
出棧(pop) \ 遍歷(travel) \ 判斷是否爲滿(full)
判斷棧是否爲空(empty) \ 計算棧中元素的個數(size)
查看棧頂元素值(peek)
2.3 基於順續存儲結構的實現
。。。。。。