資料結構課程教授高等程式設計技巧,透過適當的資料安排以有效的解決不同類型的實際問題。本課程延續上學期的程式語言應用,近幾年來皆由同一老師教授程式語言應用與資料結構以利課程內容的連貫。因此資料結構使用的程式語言與程式語言應用課程中所採用程式語言一樣。
在資料結構課程中,特別強調指標 (Pointer) 變數的設計與使用。透過指標及動態記憶分配 (Dynamic memory allocation),程式設計者可以針對實際問題的要求來設計適當的資料結構以更有效率地駕馭系統資源,事實上,資料結構課程內容中有一半以上都是利用指標來完成的。本課程自 1998 年起使用 C++ 程式語言教授,在新版的 C++ 公用程式庫中引進了一標準模板程式庫 (Standard Template Library),標準模板程式庫最早是由 HP 公司在 1994 年所公佈的 C++ 程式庫,由於其功能相當強大及使用上極為方便,在 1996 之後被正式加入於 C++ 標準程式庫。標準模板程式庫在設計上已經包含了許多資料結構課程中的所常使用的基本資料處理構
,這些在 STL 中被稱為資料容器(container),例如 vector:可自由調整大小的陣列,list:雙向串聯的序列,map:black-red 樹結構等,透過類似指標型別(iterator)與計算程序函式(algorithm) 的處理及合作,三者共同提供了非常有效率及方便的方式來解決許多實際程式設計問題。事實上,STL 至今已成為 C++ 的程式庫中最重要的資產,資料結構課程所介紹的大部份內容都可輕易用STL 來完成。在本課程中將會利用 6 至 8小時特別介紹,並鼓勵學生在作業中使用練習。
由於 C++ 為一複雜的程式語言,本課程中也將會介紹一些 C++ 語言中較深入的程式設計技巧。資料結構的作業通常具有多樣性且實際的,其難度隨課程內容增加,學生在修本門課之前須要對 C++ 程式語言有必要的了解,否則並不鼓勵直接修習本門課,以免造成無謂或過重的課業負擔。
|