数据结构复习—1.1
生活随笔
收集整理的這篇文章主要介紹了
数据结构复习—1.1
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、什么是數據結構
?結構:實體+關系
數據結構:
1、按照邏輯關系組織起來的一批路徑
2、按一定存儲方法把他存儲在計算機中
3、在這些數據上定義了一個運算的集合
二、數據結構的邏輯結構
線性結構
? 線性表(表、棧、隊列、串等)
非線性結構
? 樹(二叉樹、Huffman樹、二叉檢索樹等)
? 圖(有向圖、無向圖等)
三、數據的存儲結構
四類:順序、鏈接、索引、散列
1、順序:存儲單元的順序地址,例如數組
2、鏈接:指針的地址指向關系,如鏈表
3、索引:對數據建立一個索引的表,然后通過這個表能夠有效的找到相應的數據存儲地址
4、散列:一種特殊的索引結構,散列能通過對要查的關鍵碼的一個映射,能夠在整個散列表里面快速地找到它的存儲空間,然后把相應的數值找出來。
抽象數據類型ADT(Abstract Data Type)
-定義了一組運算的數學模型
-與物理存儲結構無關
-使軟件系統建立在數據之上
抽象數據結構二元組
<數據對象D,數據操作P>
?
先定義邏輯結構,在定義運算
邏輯結構:數據對象及其操作
運算:數據操作
?
例:棧的抽象數據類型ADT
邏輯結構:線性表
操作特點:限制訪問端口
-只允許在進行插入、刪除操作
-入棧(push)、出棧(pop)、取棧頂(top)、判棧空(isEmpty)
template<class T> //棧的元素類型為T class Stack{ public: //棧的運算集void clear(); //變為空棧bool push(const T item); //item入棧,成功返回真,否則返回假bool pop(T & item); //彈棧頂,成功返回真,否則返回假bool top(T& item); //讀棧頂但不彈出,成功真,否則假bool isEmpty; //若棧已空返回真bool isFull(); //若棧已滿返回真 }?
轉載于:https://www.cnblogs.com/xy-l/p/10663479.html
總結
以上是生活随笔為你收集整理的数据结构复习—1.1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 给web请求加遮罩动画
- 下一篇: 软件工程实验一