資料結構基本定義 C/ C++
轉:http://blog.csdn.net/xinianbuxiu/article/details/53166608
一、何為資料結構:
資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及它們之間的關係和操作等相關問題的學科。
基本概念與術語:
資料
何為資料:它是描述客觀事物的符號,是計算機中可以操作的物件,是能被計算機識別,並輸入給計算機處理的符號集合。這裡的資料不僅僅包括整型、實型等數值型別,還包括字元及聲音、影象、視訊等非數值型別。
資料元素
何為資料元素:是組成資料的、有一定意義的基本單位,在計算機中通常作為整體處理。也被稱為記錄。
資料項
何為資料項:一個數據元素可以由若干個資料項組成。
資料項是資料不可分割的最小單位。
資料物件
何為資料物件:是性質相同的資料元素的集合,是資料的子集。
性質相同是指,資料元素具有相同數量和型別的資料項。
通常情況下,將資料物件簡稱為資料。
資料,資料元素,資料項,資料物件之間的關係見下圖:
資料結構:是相互之間存在一種或多種特定關係的資料元素的集合。
二、資料結構有哪些結構
(1)邏輯結構:資料物件中資料元素之間的相互關係。分為以下四種:
集合結構:集合結構中的資料元素除了同屬一個集合外,它們之間沒有其他關係,各個元素是“平等”的,同屬於一個集合。
線性結構:線性結構中每一個元素之間是一對一關係。
樹形結構:樹形結構中的資料元素之間存在一種一對多的層次關係。
圖形結構:資料元素是多對多的關係。
(2)物理結構:資料的邏輯結構在計算機中的儲存形式。
有兩種,分別是:順序儲存和鏈式儲存。
1、順序儲存結構:是把資料元素存放在地址連續的儲存單元裡,其資料間邏輯關係和物理關係是一致的。
2、鏈式儲存結構:是把資料元素存放在任意的儲存單元裡,這組儲存單元可以是連續的,也可以不連續。需要用一個指標存放資料元素的地址,通過地址就可以找到相關聯資料元素的位置。
邏輯結構是面向問題的,而物理結構是面向計算機的,其基本目標是將資料及其邏輯關係儲存到計算機的記憶體中。
三、抽象資料型別
資料型別:是指一組性質相同的值的集合以及定義在此集合上的一些操作的總稱。
在C語言中,資料型別分兩類:
原子型別:不可以再分解的基本型別。如整型、實型、字元型等。
結構型別:由若干個型別組合而成,可分解。
抽象是指取出事物具有的普遍性的本質,對具體事物的一個概括。
抽象資料型別(ADT):是指一個數學模型及定義在該模型上的一組操作。抽象資料型別體現了程式設計中問題分解、抽象和資訊隱藏的特性。
抽象資料型別的標準格式: