資料結構 大框總結

2021-10-04 04:03:50 字數 1837 閱讀 7060

部落格說明

簡介資料結構(data structure)是帶有結構特性的資料元素的集合,它研究的是資料的邏輯結構和資料的物理結構以及它們之間的相互關係,並對這種結構定義相適應的運算,設計出相應的演算法,並確保經過這些運算以後所得到的新結構仍保持原來的結構型別。

簡而言之,資料結構是相互之間存在一種或多種特定關係的資料元素的集合,即帶「結構」的資料元素的集合。「結構」就是指資料元素之間存在的關係,分為邏輯結構和儲存結構

資料結構的分類(線性和非線性)

線性結構

簡單地說,線性結構就是表中各個結點具有線性關係。如果從資料結構的語言來描述,線性結構應該包括如下幾點

1、線性結構是非空集

2、線性結構有且僅有乙個開始結點和乙個終端結點

3、線性結構所有結點都最多只有乙個直接前趨結點和乙個直接後繼結點

線性表就是典型的線性結構,還有棧、佇列和串等都屬於線性結構

非線性結構

簡單地說,非線性結構就是表中各個結點之間具有多個對應關係。如果從資料結構的語言來描述,非線性結構應該包括如下幾點

1、非線性結構是非空集

2、非線性結構的乙個結點可能有多個直接前趨結點和多個直接後繼結點

在實際應用中,陣列、廣義表、樹結構和圖結構等資料結構都屬於非線性結構。

常用的資料結構

陣列(array)

陣列是一種聚合資料型別,它是將具有相同型別的若干變數有序地組織在一起的集合。

陣列可以說是最基本的資料結構,在各種程式語言中都有對應。乙個陣列可以分解為多個陣列元素,按照資料元素的型別,陣列可以分為整型陣列、字元型陣列、浮點型陣列、指標陣列和結構陣列等。陣列還可以有一維、二維以及多維等表現形式

棧( stack)

棧是一種特殊的線性表,它只能在乙個表的乙個固定端進行資料結點的插入和刪除操作。

棧按照後進先出的原則來儲存資料,也就是說,先插入的資料將被壓入棧底,最後插入的資料在棧頂,讀出資料時,從棧頂開始逐個讀出。棧在組合語言程式中,經常用於重要資料的現場保護。棧中沒有資料時,稱為空棧。

佇列(queue)

佇列和棧類似,也是一種特殊的線性表。和棧不同的是,佇列只允許在表的一端進行插入操作,而在另一端進行刪除操作。一般來說,進行插入操作的一端稱為隊尾,進行刪除操作的一端稱為隊頭。佇列中沒有元素時,稱為空佇列。

鍊錶( linked list)

鍊錶是一種資料元素按照鏈式儲存結構進行儲存的資料結構,這種儲存結構具有在物理上存在非連續的特點。

樹( tree)

樹是典型的非線性結構,它是包括,2個結點的有窮集合k。在樹結構中,有且僅有乙個根結點,該結點沒有前驅結點。在樹結構中的其他結點都有且僅有乙個前驅結點,而且可以有兩個後繼結點,m≥0。

圖(graph)

圖是另一種非線性資料結構。在圖結構中,資料結點一般稱為頂點,而邊是頂點的有序偶對。如果兩個頂點之間存在一條邊,那麼就表示這兩個頂點具有相鄰關係。

堆(heap)

堆是一種特殊的樹形資料結構,一般討論的堆都是二叉堆。堆的特點是根結點的值是所有結點中最小的或者最大的,並且根結點的兩個子樹也是乙個堆結構。

雜湊表(hash)

雜湊表源自於雜湊函式(hash function),其思想是如果在結構中存在關鍵字和t相等的記錄,那麼必定在f(t)的儲存位置可以找到該記錄,這樣就可以不用進行比較操作而直接取得所查記錄。

演算法很難,先整理資料結構

感謝

以及勤勞的自己

資料結構課程大總結

o 資料結構包括邏輯結構 儲存結構 資料運算。其中,資料的邏輯結構又分為線性結構和非線性結構 資料的儲存結構分為順序結構 鏈式結構 索引結構 雜湊結構 資料運算分為插入運算 刪除運算 修改運算 查詢運算和排序運算。這後面所學的知識點都是以這為基礎的 舉個例子,後面所學的棧 佇列 陣列 樹 圖等等,儲...

資料結構期末課堂大總結

除了學習幾種常用的線性結構,還有樹形結構,樹形結構屬於非線性結構,常用的樹形結構包括樹和二叉樹。線性結構可以表示元素或元素之間的一一對應關係,而在樹形結構中,乙個節點可以與多個結點相對應,因此能夠表示層次結構的資料。二叉樹的遍歷有先序遍歷,中序遍歷,後序遍歷,層次遍歷。先序遍歷先訪問根節點,然後先序...

資料結構 資料結構的三大結構

計算機程式設計 資料結構 演算法 資料結構研究變數的管理方式,演算法研究解決特定問題的方法。資料結構分三個層次 邏輯結構 抽象層 物理結構 結構層 運算結構 實現層 邏輯結構指人對資料之間關係的理解和看法,邏輯結構和計算機無關。邏輯結構 1 集合結構 這種結構表示資料可以合併成乙個整體。這是資料之間...