程式猿必修課之資料結構(一)資料結構基本概念和術語

2021-08-23 12:13:36 字數 598 閱讀 8331

資料結構:是相互之間存在一種或多種特定關係的資料元素的集合。

本文將「資料結構」分為 「資料」 和 「結構」 兩部分。

程式設計 = 資料結構 + 演算法

資料「資料」是描述客觀事物的符號,是計算機中可以操作的物件,是能被計算機識別,並輸入給計算機處理的符號集合。也就是說,我們這裡說的資料其實就是符號,而且這些符號必須具備兩個前提:

抽象資料型別(abstract data type, adt):是指乙個數學模型及定義在該模型上的一組操作。它體現了程式設計中問題分解、抽象和資訊隱藏的特性。

抽象資料型別的標準格式:

adt 抽象資料型別名

data

資料元素之間邏輯關係的定義

operation

操作 1

初始條件

操作結果描述

操作 2

……操作 n

……endadt

資料結構是相互之間存在一種或多種特定關係的資料元素的集合。

資料的邏輯結構分為:集合結構、線性結構、樹形結構、圖形結構。

資料的物理結構分為:順序儲存結構和鏈式儲存結構。

程式猿必修課之資料結構(十)樹1

樹是一對多的資料結構 樹 tree 是 n n 0 個結點的有限集。n 0 時,稱為空樹。在任意一棵非空樹中 其實樹的定義用到了遞迴的方法。樹的每乙個結點包含乙個資料元素和若干個指向其子樹的分支。結點的度 結點擁有的子樹的個數稱為結點的度 degree 度為 0 的結點稱為葉結點 leaf 或終端結...

程式猿必修課之資料結構(七)棧2

斐波那契 fibonacci 是乙個經典的遞迴例子。數字 1,1,2,3,5,8,13.構成乙個序列,它的特點是 前面相鄰兩項之和是後一項的值。用數學函式來定義是 斐波那契數列 用遞迴實現列印出前 40 位的斐波那契數列數的 如下 includeint fbi int int main return...

程式猿必修課之資料結構(八)佇列

佇列 queue 是只允許在一端進行插入操作,而在另一端進行刪除操作的線性表。佇列是一種先進先出 first in first out 的線性表,簡稱fifo。允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭。佇列是特殊的線性表,因此它的各種操作類似線性表,不同的是插入資料只能在隊尾進行,刪除資料只能...