資料結構讀書筆記之資料結構初識

2021-09-30 20:33:20 字數 1981 閱讀 4784

資料結構

資料結構是相互之間存在一種或多種特定關係的資料元素的集合。(資料結構這個概念,至今尚未有乙個被一致公認的定義,不同的人在使用這個詞時所表達的意思有所不同)

資料

資料是對客觀事物的符號表示,在電腦科學中是指所有能輸入到計算機中並被電腦程式處理的符號的總稱。對電腦科學而言,資料的含義極為廣泛,數字、影象、文字、聲音等都可以通過編碼而歸之於資料的範疇。

資料元素

資料元素是資料的基本單位,在電腦程式中通常作為乙個整體進行考慮和處理。乙個資料元素可由若干個資料項組成。資料項是資料不可分割的最小單位。如果我們把圖書館的書目資訊(書本檢索資訊)看作乙個資料元素,那麼書目資訊中的每一項(如書名、作者名等)就是資料項。

結構

資料元素相互之間的關係成為結構。通常有四種基本結構:

集合:結構中的資料元素之間除了「同屬於乙個集合」的關係外,別無其他關係。這裡和數學中的集合概念是一致的。

線性結構:結構中的資料元素之間存在乙個對乙個的關係。例如線性表、佇列。

樹形結構:結構中的資料元素之間存在乙個對多個的關係。例如二叉樹,它們之間是不交叉的。

圖狀結構或網狀結構:結構中的資料元素之間存在多個對多個的關係。例如圖。

資料物件

資料物件是性質形同的資料元素的集合,是資料的乙個子集。例如整數資料物件是集合n=。

資料的邏輯結構

很多資料結構的定義是對操作物件的一種數學描述,是從操作物件抽象出來的數學模型。結構定義中的「關係」描述的是資料元素之間的邏輯關係,因此又稱為資料的邏輯結構。

資料的物理結構

資料結構在計算機中的表示(又稱映像)稱為資料的物理結構,又稱儲存結構。它包括資料元素的表示和關係的表示。

在計算機中表示資訊的最小單位是二進位制數的一位,叫做位。

在計算機中,我們可以用乙個由若干位組合起來形成的乙個位串表示乙個資料元素(如用乙個字長的位串表示乙個整數,用8位二進位制數表示乙個字元等),通常稱這個位串為元素或結點。

當資料元素由若干資料項組成時,位串中對應於各個資料項的子位串稱為資料域。因此,元素或結點可以看成是資料元素在計算機中的映像。

資料元素在計算機中有兩種不同的表示方法:順序映像和非順序映像,並由此得到兩種不同的儲存結構:順序儲存結構和鏈式儲存結構。

順序映像的特點是借助元素在儲存器中的相對位置來表示資料元素之間的邏輯關係;非順序映像的特點是借助指示元素儲存位址的指標表示資料元素之間的邏輯關係。

任何乙個演算法的設計取決於選定的資料(邏輯)結構,而演算法的實現依賴於採用的儲存結構。

資料型別

資料型別是和資料結構密切相關的乙個概念,它最早出現在高階程式語言中,用以刻畫(程式)操作物件的特性。資料型別是乙個值的集合和定義在這個值集上的一組操作的總稱。

高階程式語言中的資料型別可以分為兩類:一類是非結構的原子型別。原子型別的值是不可分解的,例如c語言中的基本型別(整型,實型,字元型和列舉型別)、指標型別和空型別。另一類是結構型別,結構型別的值是由若干成分按某種結構組成的,因此是可以分解的,並且它的成分可以是非結構的,也可以是結構的。例如陣列的值由若干個分量組成,每個分量可以是整數,也可以是陣列等。

抽象資料型別

抽象資料型別是指乙個數學模型以及定義在該模型上的一組操作。

抽象資料型別和資料型別本質上是乙個概念。例如,各個計算機都擁有的「整數」型別是乙個抽象資料型別,儘管它們在不同處理器上實現的方法可以不同,但由於其定義的數學特性相同,在使用者看來都是相同的。因此,「抽象」的意義在於資料型別的數學抽象特性。

抽象資料型別可通過固有資料型別來表示和實現,即利用處理器中已存在的資料型別來說明新的結構,用已經實現的操作來組合新的操作。

資料結構讀書筆記之演算法初識

演算法 演算法是對特定問題求解步驟的一種描述,它是指定的有限數列,其中每一條指令表示乙個或多個操作。演算法的5個特徵 有窮性 乙個演算法必須總是 對任何合法的輸入值 在執行有窮步之後結束,且每一步都可在有窮時間內完成。確定性 演算法中每一條指令必須有確切的含義,讀者理解時不會產生二義性。並且,在任何...

資料結構讀書筆記

首先有個關於指標的問題 如果函式傳進來乙個指標 p,函式裡操作p不會影響原來的值,而如果有 或者 才會改變 比如 malloc的時候傳入指標的指標才行 o 1 刪除節點時末尾必須要便利一遍 刪除頭指標要變為刪除第二個節點。1.o 1 刪除指定位置的節點 如果為最後乙個節點還是必須遍歷一遍 2.倒數第...

《資料結構》讀書筆記

2010年9月2日開始研究 資料結構基礎 這本書。為什麼要說是研究呢,一是覺得研究這個詞比較賞心悅目,總比 看 閱讀 之類的好聽多了。二是真的想把資料結構學好。488頁,看來有忙活的了!第一章 基本概述 生命週期各階段描述及理解 1.需求階段 所有人規模程式設計專案,都是從確定規範宣告開始,規範宣告...