• 沒有找到結果。

資料結構

N/A
N/A
Protected

Academic year: 2022

Share "資料結構"

Copied!
2
0
0

加載中.... (立即查看全文)

全文

(1)

資料結構

在電腦科學中,資料結構(data structure)是電腦中儲存、組織資料的方式。通 常情況下,精心選擇的資料結構可以帶來最優效率的演算法。

一般而言,資料結構的選擇首先會從抽象資料型別的選擇開始。一個設計良好的 資料結構,應該在儘可能使用較少的時間與空間資源的前提下,為各種臨界狀態 下的執行提供支援。資料結構可透過編程語言所提供的資料型別、參照及其他操 作加以實作。

不同種類的資料結構適合於不同種類的應用,而部分甚至專門用於特定的作業任 務。例如,當電腦網路依賴於路由表運作時,B 樹高度適用於資料庫的封裝。

在許多型別的程式設計中,選擇適當的資料結構是一個主要的考慮因素。許多大 型系統的構造經驗表明,封裝的困難程度與最終成果的質量與表現,都取決於是 否選擇了最優的資料結構。在許多時候,確定了資料結構後便能很容易地得到演 算法。而有些時候,方向則會顛倒過來:例如當某個關鍵作業需要特定資料結構 下的演算法時,會反過來確定其所使用的資料結構。然而,不管是哪種情況,資 料結構的選擇都是至關重要的。

系統構造的關鍵因素是資料結構而非演算法的這一深入理解,導致了多種形式化 的設計方法與程式語言的出現。絕大多數的語言都帶有某種程度上的模組化思想,

透過將資料結構的具體實作封裝隱藏於受限介面後方的方法,來讓不同的應用程 式能夠安全地重用這些資料結構。C++、Java、Python 等物件導向的程式設計語 言可使用類來完成這一功能。

因為資料結構的重要性毋庸置疑,現代程式語言及其執行環境在標準庫中都包含 了多種的資料結構,例如 C++標準模板庫中的容器、Java 集合框架以及微軟的.NET Framework。

大多數資料結構都由數列、記錄、可辨識聯合、參照等基本型別構成。舉例而言,

可空參照(nullable reference,一種可被置空的參照)是參照與可辨識聯合的結 合體,而最簡單的鏈式結構連結串列則是由記錄與可空參照構成。

資料結構意味著介面或封裝:一個資料結構可被視為兩個函式之間的介面,或者 是由資料型別聯合組成的儲存內容的存取方法封裝。

(2)

常見的資料結構

陣列 (Array) 堆疊 (Stack) 隊列 (Queue) 鏈錶 (Linked List) 樹 (Tree)

圖 (Graph) 堆 (Heap) 雜湊 (Hash)

參考文獻

相關文件

CF12203A#2 許惠恒 在亞洲國家多中心隨機研究比較 Joint Asia Diabetes Evaluation (JADE) 的結構照護計劃與 Diabetes Monitoring Database (DIAMOND)

編號 主持人 計畫名稱 審查結果 CF12202 許惠恒 在亞洲國家多中心隨機研究比較 Joint Asia Diabetes. Evaluation (JADE)

Access2003),還必須定義資料庫的結構,讓資料之間的聯繫能有完整性。使用者透過介

一般的大富翁,大多是紙上大富翁,不僅可以多 人一起遊戲,在無聊時也可以打發時間增進彼此 感情。線上的大富翁遊戲,越來越多新玩法,吸

7.下列是關於 overflow 的示範程式,亦即當資料型態不足以存放資料時會產生非預期 的效果。請修改資料型態的宣告,使之符合執行結果。.. 8.下列是

當一長鏈的碳原子以單鍵與雙鍵交錯連接就形成了所謂的 polyene。自然界中許多脂 肪酸就屬於 polyene,而許多染料(dye)也包含 polyene 結構。 β -carotene(β-胡蘿蔔素) 以及

就資助 (包括開設高中班級的特殊學校)、按位津貼和直接資助計劃中 學,本局將根據學校填寫的資料、核准的高中班級結構,以及修讀其他語言 課程的學生數目,分別在 2022、2023 和 2024 年的

left