1. 程式人生 > >資料結構之一準備及預熱3

資料結構之一準備及預熱3

6.其他知識補充

  • 資料結構:

資料結構是指相互之間存在一種或多種特定關係的資料元素的集合。
資料結構包括3個方面的內容:邏輯結構、儲存結構、對資料的運算

  • 資料的邏輯結構

資料的邏輯結構是對資料之間關係的描述,它與資料的儲存結構無關,同一種邏輯結構可以有多種儲存結構。
歸納起來資料的邏輯結構主要有兩大類:
1.線性結構
它有四個基本特徵:
1)集合中必存在唯一的一個“第一個元素”。
2)集合中比存在唯一的一個“最後一個元素”。
3) 除最後一個元素外,其他資料元素均有唯一的“後繼”。
4)除第一個元素外,其他資料元素均有唯一的“前驅”。
2.非線性結構
與線性結構不同,非線性結構中的結點存在著一對多的關係,它又可以細分為樹形結構和圖形結構。

  • 資料的物理結構

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

當資料元素是由若干資料項構成的時候,資料項的表示稱為資料域。

例如:一個連結串列結點,結點包含值域和指標域,這裡的結點可以看作一個數據元素,其中值域和指標域都是這個元素的資料域。

資料元素之間的關係在計算機中有兩種不同的表示方法:順序映像和非順序映像。對應兩種不同的儲存結構分別是順序儲存結構和鏈式儲存結構。
順序對映是藉助資料元素在儲存器中的相對位置來表示資料元素之間的邏輯關係。
非順序對映是藉助指標表示資料元素之間的邏輯關係。

資料結構中有以下4中常用的儲存結構:

(1). 順序儲存方法
該方法把邏輯上相鄰的結點儲存在物理位置上相鄰的儲存單元中,結點之間的邏輯關係由儲存單元之間的鄰接關係來體現。
(2). 鏈式儲存方法
鏈式儲存結構不要求邏輯上相鄰的結點在物理位置上也相鄰,結點間的邏輯關係是由附加的指標欄位表示的
(3). 索引儲存方法
索引儲存方法在儲存結點資訊時除建立儲存結點資訊外,還建立附加的索引表來標識結點地址。索引項的一般形式是< 關鍵字 , 地址 > 。關鍵字標識唯一一個結點,地址作為指向結點的指標。
(4). 雜湊儲存方法
雜湊儲存方法的基本思想:根據結點的關鍵字通過雜湊函式直接計算出該結點的儲存地址。這種儲存方法本質上是順序儲存方法的擴充套件。

  • 演算法

演算法可以理解為由基本運算及規定的運算順序所構成的完整的解題步驟,或者看出按照要求設計好的有限的確切的計算序列。

演算法的特性:
(1) 有窮性 :一個演算法必須保證執行有限步之後結束
(2) 確定性:演算法的每一個步驟必須有確定的定義
(3) 輸入:一個演算法有0個或多個輸入,以刻畫運算物件的初始情況。
(4) 輸出:一個演算法有1個或多個輸出,以反映對輸入資料加工後的結果。
(5) 可行性:演算法中的所有操作必須可以通過已經實現的基本操作進行運算,並在有限次內實現,而且人們用筆和紙做有限次運算後也可完成。
演算法設計的目標:
(1) 正確性:演算法能正確執行預先規定的功能和效能需求
(2) 可讀性:演算法易於人的理解
(3) 健壯性:演算法有很好的容錯性,能對不合理的資料進行檢查
(4)高效率低儲存量需求