首頁>Club>
9
回覆列表
  • 1 # joy0123

    這兩個是沒有可比性的,兩個是相輔相成的,資料結構需要演算法的支撐,演算法的實現又需要資料結構的支撐,兩者是分不開的,缺了哪一個都玩不轉。常見的資料結構包括如下幾種:

    陣列(Array)陣列是一種聚合資料型別,它是將具有相同型別的若干變數有序地組織在一起的集合。陣列可以說是最基本的資料結構,在各種程式語言中都有對應。一個數組可以分解為多個數組元素,按照資料元素的型別,陣列可以分為整型陣列、字元型陣列、浮點型陣列、指標陣列和結構陣列等。陣列還可以有一維、二維以及多維等表現形式。 棧( Stack)棧是一種特殊的線性表,它只能在一個表的一個固定端進行資料結點的插入和刪除操作。棧按照後進先出的原則來儲存資料,也就是說,先插入的資料將被壓入棧底,最後插入的資料在棧頂,讀出資料時,從棧頂開始逐個讀出。棧在組合語言程式中,經常用於重要資料的現場保護。棧中沒有資料時,稱為空棧。 佇列(Queue)佇列和棧類似,也是一種特殊的線性表。和棧不同的是,佇列只允許在表的一端進行插入操作,而在另一端進行刪除操作。一般來說,進行插入操作的一端稱為隊尾,進行刪除操作的一端稱為隊頭。佇列中沒有元素時,稱為空佇列。 連結串列( Linked List)連結串列是一種資料元素按照鏈式儲存結構進行儲存的資料結構,這種儲存結構具有在物理上存在非連續的特點。連結串列由一系列資料結點構成,每個資料結點包括資料域和指標域兩部分。其中,指標域儲存了資料結構中下一個元素存放的地址。連結串列結構中資料元素的邏輯順序是透過連結串列中的指標連結次序來實現的。 樹( Tree)樹是典型的非線性結構,它是包括,2個結點的有窮集合K。在樹結構中,有且僅有一個根結點,該結點沒有前驅結點。在樹結構中的其他結點都有且僅有一個前驅結點,而且可以有聊個後繼結點,m≥0。 圖(Graph)圖是另一種非線性資料結構。在圖結構中,資料結點一般稱為頂點,而邊是頂點的有序偶對。如果兩個頂點之間存在一條邊,那麼就表示這兩個頂點具有相鄰關係。 堆(Heap)堆是一種特殊的樹形資料結構,一般討論的堆都是二叉堆。堆的特點是根結點的值是所有結點中最小的或者最大的,並且根結點的兩個子樹也是一個堆結構。 [散列表(Hash)

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

    每種資料結構的實現都需要演算法。兩者不在一個層級上,無法對比優劣。

  • 中秋節和大豐收的關聯?
  • 原畫師職位有什麼任職要求?