基礎的資料結構有哪些?

2022-08-20 07:00:11 字數 890 閱讀 2015

資料結構是以某種形式將資料組織在一起的集合,不僅儲存資料, 還支援訪問和處理資料的操作.

基礎的資料結構有:線性表(陣列,鍊錶),棧與佇列,樹與二叉樹,圖等

氣泡排序的思想: 每次比較兩個相鄰的元素, 如果他們的順序錯誤就把他們交換位置。

快速排序使用分治法策略來把乙個序列分為兩個子串行。

步驟:從數列中挑出乙個元素,稱為 "基準"(pivot),

重新排序數列,所有元素比基準值小的擺放在基準前面,所有元素比基準值大的擺在基準的後面(相同的數可以到任一邊)。在這個分割結束之後,該基準就處於數列的中間位置。這個稱為分割(partition)操作。

遞迴地(recursive)把小於基準值元素的子數列和大於基準值元素的子數列排序。

1) 二叉樹的深度優先遍歷的非遞迴的通用做法是採用棧,廣度優先遍歷的非遞迴的通用做法是採用佇列。

2) 深度優先遍歷:對每乙個可能的分支路徑深入到不能再深入為止,而且每個結點只能訪問一次。要特別注意的是,二叉樹的深度優先遍歷比較特殊,可以細分為先序遍歷、中序遍歷、後序遍歷。具體說明如下:

•   先序遍歷:對任一子樹,先訪問根,然後遍歷其左子樹,最後遍歷其右子樹。

•   中序遍歷:對任一子樹,先遍歷其左子樹,然後訪問根,最後遍歷其右子樹。

•   後序遍歷:對任一子樹,先遍歷其左子樹,然後遍歷其右子樹,最後訪問根。

3)深度優先搜尋演算法:不全部保留結點,占用空間少;有回溯操作(即有入棧、出棧操作),執行速度慢。

廣度優先搜尋演算法:保留全部結點,占用空間大; 無回溯操作(即無入棧、出棧操作),執行速度快。

廣度優先搜尋演算法,一般需儲存產生的所有結點,占用的儲存空間要比深度優先搜尋大得多,因此,程式設計中,必須考慮溢位和節省記憶體空間的問題。但廣度優先搜尋法一般無回溯操作,即入棧和出棧的操作,所以執行速度比深度優先搜尋要快些

Redis有哪些資料結構

這應該是應用最廣泛的了,簡單的 key value 型別。value 不僅可以是 string,也可以是數字。還可以享受 redis 的定時持久化 可以選擇 rdb 模式或者 aof 模式 操作日誌及 replication 等功能。利用 redis 提供的 set 資料結構,可以儲存一些集合性的資...

常見的資料結構有哪些

1.陣列 2.佇列 3.鍊錶 i.單鏈表 ii.雙向鍊錶 iii.迴圈鍊錶 4.樹5.雜湊表 6.堆7.棧 8.圖1 詳細說下幾個資料結構 陣列簡單 棧先進後出 佇列先進先出 煉表單鍊錶 是這樣乙個有序的結點序列,每個鍊錶元素既有指向下乙個元素的指標,又有指向前乙個元素的指標,其中每個結點都有兩種指...

常見的資料結構有哪些?

陣列 陣列是最常用的資料結構,陣列的特點是長度固定,可以用下標索引,並且所有的 元素的型別都是一致的。列表 列表和陣列很相似,只不過它的大小可以改變。列表一般都是通過乙個固定大小的 陣列來實現的,並且會在需要的時候自動調整大小。列表裡可以包含重複的元素。集合 集合和列表很相似,不過它不能放重複的元素...