【資料結構】 DataStructure
【辭書名稱】圖書館學與資訊科學大辭典
資料結構是電腦系統內,資料排列與組合的架構,以使單一資料可達快速檢索的目的。
當電腦程式設計師在定義電腦的資料結構時,在程式語言上必須先確定資料元素(AtomicData)及資料架構運作單元(DataConstructorOperator)。
以帕司卡(Pascal)電腦程式語言為例,整數、實數、布林邏輯符號及字母均是資料元素。
資料架構運作單元則是使原始的資料,形成較為複雜形式的資料體,如排列(Array)結構或指標(Pointer)即是。
資料結構依據架構的可變更性與否,分成靜態性資料結構及動態性資料結構兩種。
靜態性的資料結構主要有排列及資料紀錄(Record)兩種資料結構。
排列方式的資料結構,乃是資料一個接一個連接在一起,每個資料透過定址數字或地址來連接。
排列資料結構猶如一長串排列整齊的房子,每間房門均有門牌號碼可供查詢。
房子前後關係均是固定,因此無法任意插入或取出任何一個房子。
房子雖然不可變更,但住在房內的人可以任意移動。
也就是資料內容可以改變,但資料與前後資料的關係不能更動。
資料紀錄基本的架構與排列相同,所不同在於資料紀錄猶如火車的車廂,可以不斷加掛形成資料單位稱為欄位(Field)。
資料紀錄以應用於資料庫的結構為主。
動態性的資料結構可以依照需要加入新的元素,或消去舊的元素,使得整個資料架構做有彈性的調整。
主要的結構計有串列(List)包括推疊(Stack)及排隊(Queue)、樹狀(Tree)結構、二元樹(BinaryTree)結構、圖形(Graph)結構、及集合(Set)等。
串列是最簡單的動態性資料結構,基本上也是由資料一個一個串接而成。
串列與排列不同點在於,串列是靠指標(Pointer)連接前後的資料元素。
所謂的指標可以想像成一個勾子,只要任何資料的尾端有環扣,就可以被連接上形成長鏈。
因此,若要花長鏈中的任何位置取出或加入一個資料元素甚為容易。
推疊與排隊均是串列的變化,主要變化在於資料鏈的出入口上。
推疊是一端封閉的隧道,當資料逐一進入封閉的隧道後,若要再出來必定是最後進去的資料先退出,這也就是所謂的後進先出(Last-InFirst-Out,簡稱LIFO)型。
排隊則是兩端均通暢的隧道,先進入的資料必然由另一出口先出來,與一般排隊買票類似,亦稱為先進先出(First-InFirst-Out,簡稱FIFO)型。
樹狀結構主要的構造是每一個資料元素下,可以連接數個資料元素。
這種上下的資料關係可以比擬成父母與子女的關係。
也就是上層的資料猶如父母,下層資料猶如子女,每對父母可以有數個孩子。
父母又可稱為節點(Node),子女猶如樹枝又可稱分枝(Branches)。
二元樹也是樹狀結構的一種,所不同在於二元樹講求家庭計畫,每對父母只能有二個子女。
圖形結構則是由一組圓點及邊線互相連接而成。
每個圓點即是資料的所在。
圓點又稱網點可連接到的其他網點,網點間並無層級的關係。
每個網點有左右兩條邊線可延伸至其他各網點,最後整個圖形猶如一個四通八達的大網。
圖形結構依照邊線的發展,可區分成有方向及無方向性兩種類型。
集合結構則是沒有任何次序的資料元素所組成。
利用數學的集合邏輯性質來運作。
主要是用於資料的分類上。
典型集合的運作,是逐一檢視呈串列構造的資料體,然後逐一分類到每一個特定的分組中,形成各別的小集合體。
可以想像成猶如當兵的體檢程序一般。
轉自:http://edic.nict.gov.tw/cgi-bin/tudic/gsweb.cgi?o=ddictionary
|