排序(Sorting)是計算機內經常進行的一種操作,其目的是將一組“無序”的記錄序列調整為按關鍵字“有序”的記錄序列。如何進行排序,特別是高效率地進行排序時計算機工作者學習和研究的重要課題之一。排序有 ...
現實生活中的事情往往都能總結歸納成一定的數據結構,例如餐館中餐盤的堆疊和使用,羽毛球筒里裝的羽毛球等都是典型的棧結構。而在.NET中,值類型在線程棧上進行分配,引用類型在托管堆上進行分配,本文所說的 棧 正是這種數據結構。棧和隊列都是常用的數據結構,它們的邏輯結構與線性表相通,不同之處則在於操作受某種特殊限制。因此,棧和隊列也被稱為操作受限的線性表。這里,我們首先來了解一下棧。 一 棧的概念及操作 ...
2015-07-04 01:55 3 2180 推薦指數:
排序(Sorting)是計算機內經常進行的一種操作,其目的是將一組“無序”的記錄序列調整為按關鍵字“有序”的記錄序列。如何進行排序,特別是高效率地進行排序時計算機工作者學習和研究的重要課題之一。排序有 ...
他數據結構如樹的一些基本操作中(比如樹的廣度優先遍歷)也需要借助隊列來實現,因此這里我們來看看隊列。 ...
哈希(散列)技術既是一種存儲方法,也是一種查找方法。然而它與線性表、樹、圖等結構不同的是,前面幾種結構,數據元素之間都存在某種邏輯關系,可以用連線圖示表示出來,而哈希技術的記錄之間不存在什么邏輯關系,它只與關鍵字有關聯。因此,哈希主要是面向查找的存儲結構。哈希技術最適合的求解問題是查找與給定值相等 ...
前面幾篇已經介紹了線性表和樹兩類數據結構,線性表中的元素是“一對一”的關系,樹中的元素是“一對多”的關系,本章所述的圖結構中的元素則是“多對多”的關系。圖(Graph)是一種復雜的非線性結構,在圖結構中,每個元素都可以有零個或多個前驅,也可以有零個或多個后繼,也就是說,元素之間的關系是任意 ...
形式,它們是堆棧、隊列、樹、圖等數據結構的實現基礎。 一、線性表基礎 1.1 線性表的基本定義 ...
在上一篇中,我們了解了單鏈表與雙鏈表,本次將單鏈表中終端結點的指針端由空指針改為指向頭結點,就使整個單鏈表形成一個環,這種頭尾相接的單鏈表稱為單循環鏈表,簡稱循環鏈表(circular linked list)。 一、循環鏈表基礎 1.1 循環鏈表節點結構 循環鏈表和單鏈表的主要差異 ...
前面所討論的線性表元素之間都是一對一的關系,今天我們所看到的結構各元素之間卻是一對多的關系。樹在計算機中有着廣泛的應用,甚至在計算機的日常使用中,也可以看到樹形結構的身影,如下圖所示的Windows資源管理器和應用程序的菜單都屬於樹形結構。樹形結構是一種典型的非線性結構,除了用於表示相鄰關系外 ...
單鏈表的節點結構 在鏈表中,每個節點由兩部分組成:數據域和指針域。 1.2 單鏈表的總體結構 ...