資料結構:相互之間存在一種或多種特定關係的資料元素的集合
演算法:對結構中的資料進行各種處理
應用方面:
現實世界資料儲存
程式設計師的工具
1 資料結構 優點 缺點
2 陣列 使用方便,查詢效率、比煉表高,記憶體為一連續的區域 大小固定,不適合動態儲存,不方便動態新增
3 有序陣列 比無序的陣列查詢快 刪除和插入慢,大小固定
4 棧 提供後進先出的訪問方式 訪問其他項很慢
5 佇列 提供先進後出的訪問方式 訪問其他項很慢
6 鍊錶 鍊錶實現資料元素儲存的順序儲存,是連續的 因為含有大量的指標域,所以占用空間大,同時因為只有頭結點(後面說明)是明確知道位址的,所以查詢鍊錶中的元素需要從頭開始尋找,非常麻煩
7 二叉樹(樹平衡的情況下) 查詢、 插入、 刪除都快 刪除演算法複雜
8 紅黑樹(平衡樹) 查詢、 插入 、刪除都快 演算法複雜
9 2-3-4樹(平衡樹) 查詢 、插入、 刪除都快 演算法複雜
10 雜湊表 插入快、通過關鍵字訪問快 刪除慢
11 堆 插入 刪除快、對最大資料項的訪問很快 對其他資料項訪問慢
12 圖 對現實世界建模 有些演算法慢且複雜
集合結構:集合結構的資料元素除"同屬於乙個集合"外,他們之間沒有其他關係
線性結構:線性結構中的資料元素之間一對一的關係 如線性表、棧、佇列
樹形結構:樹形結構中的資料元素之間存在一對多的層次關係 如樹
圖形結構:圖形結構中的資料元素多對多的關係 如圖
任何乙個結點都可能和其它結點有關係
資料的邏輯結構分兩大類:
線性結構 和 非線性結構
資料的儲存方法有四種:
順序儲存方法、鏈結儲存方法、索引儲存方法和雜湊儲存方法 常見的運算:插入、刪除、修改、查詢、排序順序儲存:在計算機中用一組位址連續的儲存單元依次儲存線性表的各個資料元素,稱作線性表的順序儲存結構
優點:在結點等長時可以隨機訪問
儲存密度高節省儲存空間
用結點的物理次序反映結點之間的邏輯關係
缺點:插入和刪除結點時要移動大量的結點
必須靜態分配連續空間
鏈結儲存:在計算機中用一組任意的儲存單元儲存線性表的資料元素(這組儲存單元可以是連續的,也可以是不連續的)
優點:插入和刪除比較靈活,不需要大量移動結點
動態分配空間比較靈活,不需要預先申請最大的連續空間
缺點:增加指標的空間開銷
檢索必須沿鏈進行,不能隨機訪問
雜湊儲存:雜湊儲存,是一種力圖將資料元素的儲存位置與關鍵碼之間建立確定對應關係的查詢技術
索引表由若干索引項組成。如果每個節點在索引表中都有乙個索引項,則該索引表就被稱為稠密索引。若一組節點在索引表中只對應於乙個索引項,則該索引表就成為稀疏索引。索引項的一般形式一般是關鍵字、位址
抽象資料型別的好處:抽象資料型別是與表示無關的資料型別,是乙個資料模型及定義在該模型上的一組運算,使使用者程式只能通過抽象資料型別定義的某些操作來訪問其中的資料,實現了資訊隱藏以下是對內容的總結:
資料結構基礎知識1
談到資料結構,心情就變得有些沉重了。聽到大多數的人談論資料結構的重要性,然而學了半年的自己並不知道自己學了什麼。在這個假期,我決定將自己一學期的學習情況整理一下。若察不正確之處,便會加以改正。我想先吐槽一下我們專業的課程安排 先學習了c 還沒有學習到一半,課程就要結束了,於是乎老師帶我們坐起了火箭。...
資料結構基礎知識 1
資料結構是計算機儲存 組織資料的方式。資料結構是指相互之間存在一種或多種特定關係的資料元素的集合。通常情況下,精心選擇的資料結構可以帶來更高的執行或者儲存效率。資料結構往往同高效的檢索演算法和索引技術有關。資料結構具體指同一類資料元素中,各元素之間的相互關係,包括兩個組成成分,資料的邏輯結構,資料的...
資料結構第1講
1.1 資料結構討論的範疇 資料結構 演算法 程式設計。例如 數值計算的程式設計問題 結構靜力分析計算 線性代數方程組 非數值計算發的程式設計問題 例1 求一組整數中的最大值?例2 計算機對弈 演算法與模型 例3 足協的資料庫管理 演算法 需要管理的專案?如何管理?使用者介面?概況地說,資料結構描述...