資料結構與演算法二

2021-07-03 20:54:44 字數 1254 閱讀 6593

資料結構作為一門學科主要研究資料的各種邏輯結構和儲存結構,以及對資料的各種操作。因此,主要有三個方面的內容:

資料的邏輯結構;

資料的物理儲存結構;

對資料的操作(或演算法)。

通常,演算法的設計取決於資料的邏輯結構,演算法的實現取決於資料的物理儲存結構。

邏輯結構:是指資料物件中資料元素之間的相互關係。

其實這也是我們今後最需要關注的問題。邏輯結構分為以下四種:

集合結構。集合中任何兩個資料元素之間都沒有邏輯關係,組織形式鬆散。

線性結構。線性結構中的結點按邏輯關係依次排列形成乙個「鎖鏈」。

樹形結構。樹形結構具有分支、層次特性,其形態有點象自然界中的樹。

圖狀結構。圖狀結構中的結點按邏輯關係互相纏繞,任何兩個結點都可以鄰接。

1.集合結構

集合結構:集合結構中的資料元素除了同屬於乙個集合外,它們之間沒有其他關係。各個資料元素是「平等」的,它們的共同屬性是「同屬於乙個集合」。資料結構中的集合關係就類似於數學中的集合。

2.線性結構

線性結構:線性結構中的資料元素之間是一對一的關係。

線性結構中的資料元素之間是一種線性關係,資料元素乙個接乙個地排列。如排除的佇列、**中一行行的記錄等。

3.樹形結構:樹形結構中的資料元素之間存在一種一對多的層次關係。樹形結構是一層次的巢狀結構。乙個樹形結構的外層和內層有相似的結構,所以,這種結構多可以遞迴的表示。

4. 圖形結構  圖形結構:圖形結構中的資料元素是多對多的關係。圖形結構的資料元素之間存在著多對多的關係,也稱網狀結構。從上面的例子也可以看出,邏輯結構是針對具體問題的,是為了解決某個問題,在對問題理解的基礎上,選擇乙個合適的資料結構表示資料元素之間的邏輯關係。物理結構:是指資料的邏輯結構在計算機中的儲存形式。

資料是資料元素的集合,那麼根據物理結構的定義,實際上就是如何把資料元素儲存到計算機的儲存器中。儲存器主要是針對記憶體而言的,像硬碟、軟盤、光碟等外部儲存器的資料組織通常用檔案結構來描述。

資料的儲存結構應正確反映資料元素之間的邏輯關係,這才是最為關鍵的,如何儲存資料元素之間的邏輯關係,是實現物理結構的重點和難點。

資料元素的儲存結構形式有兩種:順序儲存和鏈式儲存。

1.順序儲存結構

2.鏈式儲存結構

鏈式儲存結構:是把資料元素存放在任意的儲存單元裡,這組儲存單元可以是連續的,也可以是不連續的。資料元素的儲存關係並不能反映其邏輯關係,因此需要用乙個指標存放資料元素的位址,這樣通過位址就可以找到相關聯資料元素的位置。

資料結構與演算法(二)

函式的漸近增長 給定兩個函式 f n 和 g n 如果存在乙個整數n,使得對於所有的n n,f n 總是比g n 大,那麼我們說f n 的增長漸近快於g n 如圖 演算法時間複雜度的定義 在進行時間演算法分析時,語句總的執行次數t n 是關於問題規模n的函式,進而分析t n 隨n的變化情況並確定t ...

資料結構與演算法 二

佇列是一種特殊的線性表 線性結構 特殊之處在於它只允許在表的前端 front 進行刪除操作,而在表的後端 rear 進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。佇列按照邏輯資料結構可以分為順序佇列和迴圈佇列....

資料結構與演算法(二)

介紹內容 大o表示法 1 演算法時間度量指標 賦值語句 一條賦值語句同時包含了表示式計算 和 變數儲存兩個基本資源2 聯絡 所以賦值語句被執行的次數與演算法執行的時間直接掛鉤 a 5b 6c 10for i in range n for j in range n x i j y j j z i i ...