資料結構 = 資料 + 結構。
理解資料,資料經常涉及:
——資料:描述客觀事物的符號,是計算機中可以操作的物件,是能被計算機識別,並輸入給計算機處理的符號集合;
——資料元素:組成資料的、有一定意義的基本單位,在計算機中通常作為整體處理。也被稱為記錄;
——資料項:乙個資料元素可以由若干個資料項組成;
——資料物件:性質相同的資料元素的集合,是資料的子集。
那以圖書館為例:
——資料:圖書館中所有的書;
——資料元素:某一本書;
——資料項:書的基本資訊,such as 書名,出版日期,著者等;
——資料物件:某一類書。
理解結構,結構主要有:
——邏輯結構:資料物件中資料元素之間的關係。主要包括集合結構【其間元素同屬乙個集合,彼此之間無對應關係】,線性結構【一對一】,樹形結構【一對多】,圖形結構【多對多】;
——物理結構:資料的邏輯結構在計算機中的儲存形式。順序儲存【資料元素存放於位址連續的儲存單元】和鏈式儲存【資料元素存放於任意的儲存單元】。
因此,資料結構 = 資料 + 結構,即眾多資料物件在計算機記憶體或磁碟中儲存的形式及具體內容。
資料物件中資料元素之間,
物理結構是順序儲存,邏輯結構是集合結構:
——陣列【array】:資料元素都具有資料項「索引」,用於定位索引所對應的資料元素。查詢快,增刪慢,因為在陣列中刪除/增加資料元素,對其他元素的索引均會產生影響;
——棧【stack】:資料元素先進後出;
——佇列【queue】:資料元素先進先出;
物理結構可以是順序儲存也可以是鏈式儲存,邏輯結構是集合結構:
——鍊錶【linked list】:鍊錶中的資料元素也可稱為節點,由資料元素域【包含資料元素位址及其中的資料項資訊等】和指標域【指向下乙個元素位址的指標】組成。常見的鍊錶有單向鍊錶,雙向鍊錶,迴圈鍊錶;
物理結構是鏈式儲存,邏輯結構是樹形結構:
——樹【tree】:鍊錶中的資料元素同煉表一樣也稱為節點,也是由資料元素域和指標域組成,但不同於鍊錶的是,樹的指標域可以有多個。就像樹,樹根【根節點,root】只有乙個,**出多條樹枝,**出來的每一條樹枝繼續**出多條樹枝【因此,每個節點可以有多個子節點,但只有乙個父節點(一般稱為前驅)】;
——堆【heap】:特殊的樹形結構。
物理結構是鏈式儲存,邏輯結構是圖形結構:
——圖【graph】:圖與樹的不同主要是,樹只許有乙個前驅節點,但是圖可以有多個前驅節點。可以想象乙個立方體的某乙個頂點是乙個節點,它可以延伸多條線指向多個節點,同時,也可以有多個節點指向這個節點。
特殊:——雜湊表【hash】:資料元素間以某種關係存在,關係可用函式表示式【雜湊函式】描述。
資料結構概述
1 資料 資料是資訊的的載體,是描述客觀事物的數 字元,以及所有能輸入到計算機中並被電腦程式識別和處理的符號的集合。資料大致可以分為 數值型資料 整數 浮點數 複數 雙精度數等 非數值型資料 字元 字串,以及文字 圖形 影象 語音等資料 2 資料結構 data structure 資料結構有兩個層次...
資料結構概述
還可以通過另乙個方面來看資料結構,那就是從它們的強項和弱項來看。在這裡用 的 方式來概述主要資料結構。下面的表顯示了不同資料結構的優缺點,大致給出它們的特性,就象從天空中鳥瞰地面的風景一樣。所以如果對其中的術語不太清楚的話,請不要太著急。陣列 插入快,如果知道下標 但查詢慢,刪除慢,大小固定 有序陣...
資料結構 概述
資料結構概述 定義 我們如何把現實中大量而複雜的問題以特定的資料型別和特定的儲存結構 儲存到主儲存器 記憶體 中,以及在此基礎上為實現某個功能 比如查詢 某個元素,刪除某個元素,對所有元素進行排序 而執行的相應操作,這 個相應的操作也叫演算法。資料結構 個體 個體的關係 演算法 對儲存資料的操作 演...