數據結構課程的重要性再怎麼強調也不爲過,對於將來從事編程工作的程序員來說,這是必修的內功心法,程序員的內功高低就體現在這個上面。當然對於非計算機從業人員,掌握這門課程對於鍛鍊我們的數學思維、邏輯思維和理性思維來說也是有百益而無一害的。現在課程視頻已經全部上傳到51CTO學院了,爲了讓大家更好的學習這套教學視頻,我把課程的學習思路整理到下面,希望對大家有所幫助。
一、課程層次
從低到高分三個層面:實現(數據結構)、使用(數據結構)和(算法)分析。課程的重點放在實現和使用上,分析做爲後續課程的重點,目前只要求瞭解。
二、知識體系
課程知識分兩大部分:數據結構和基本算法。數據結構分兩個層面:物理存儲和邏輯關係。物理存儲又分兩大類:順序和鏈式。邏輯關係分三大類:線性、樹和圖。其中線性關係包括:線性表、鏈表(單向、循環和雙向)、棧、隊列、廣義表。基本算法包括三大類:遞歸、排序和查找。
三、學習思路
1. 數據結構主體內容的學習思路如下,分四個步驟:
(1)提出問題A->(2)解決問題->(3)數據結構->(4)解決問題
(1)提出問題
首先找出一個具有一定實際意義的問題A用編程解決。該問題應該具有一定的特質,比如:有趣、有一定的實用性、比較簡單(代碼量不大)、隱藏着一種或多種數據結構。
(2)解決問題
通過編程來解決問題A,但此前先不引入任何數據結構知識。
(3)數據結構
通過(2)解決問題,觀察和認識數據結構的存在(重點),並對數據結構進行一定程度的提煉和抽象(引出ADT主體)(重點),然後實現這個ADT(重點)。
(4)解決問題
用實現了的ADT函數庫來再一次解決問題A,來體驗ADT的價值和意義(重點)。
2. 基本算法部分的學習思路:實例演示、程序演示、輔助教學軟件演示相結合,對算法的理解力求做到簡潔、直觀和形象。(完)