演算法介紹

資料結構學甚麼?

資料結構 (Data Structure)在資訊領域中是一門很重要的學科,該門課程的主要目的是要幫助學生學會應用電腦軟體解決問題的基礎學問,就是演算法(Algorithm)。 要學會用電腦的方式思考,就要學會演算法,其中,包含堆疊(Stack)、佇列(Queue)、各種樹狀結構(Tree),都是典型在電腦中應用於資料處理的重要方法。 還有,各種排序法,也是這門課程的學習重點。 通常,在學習這門課的時候,老師會要求學生配合某一種程式語言來實作,已確定學生真的懂得如何用電腦方式進行思考,並予以實作。

資料與資訊的意義

<資料>(Data)通常是指具體的符號與文數字,被記載在實際的媒體上,例如紙張、電腦儲存的設備,甚至是竹簡、羊皮、或龜甲獸骨(甲骨)。

<資訊>(Information)通常是指資料所呈現出來,可經人們分析而理解的訊息。這些資訊可能是某些問題的答案,例如”什麼(what)?”、“誰(who)?”、”哪裡(where)?”“什麼時候(when)?”、”為甚麼(why)?”“什麼時候(when)?”、”為甚麼(why)?”因此”資料“較為具體,而”資訊”較為抽象比資訊更為抽象的則是:

<知識>(knowledge),可藉由對現有資訊的學習、歸納或推導而來,亦即知識是人類(或電腦?),學習與理解資訊所得的結果,知識通常可以回答“如何(how)”的問題。

<智慧>(intelligence,wisdom),是知識的系統化結果,是對於知識的整體洞察,此圖說明了這四個概念的關係,也就是這名的”DIKW”(Data,Information,Knowledge,Wisdom and Intelligence)架構,其中位於最底層的”資料“最為具體,愈往上層愈抽象,因此位於最頂層的”智慧“是最抽象的,它也是電腦學家們不斷努力,試圖讓電腦達到的目標。