文丨付 雯 李 響
《數據結構》是我國高等院校計算機專業的基礎課,是信息與計算科學專業的專業課程,是計算科學的算法理論基礎和軟件設計基礎。本課程不僅要鍛煉學生的抽象思維能力和邏輯推理能力,還要鍛煉學生的實踐動手能力,讓學生以后能更好的設計程序。
根據教學目的和考試大綱要求,主要介紹用計算機解決一系列非數值信息處理問題時所用的各種組織數據的方法,存儲數據結構的方法以及在各種結構上執行操作的算法。除了了解其背景(如C或C++語言)外,主要內容如下:
1.介紹數據結構和算法等基本概念,讓學生能初步了解。
2.理解線性表,它是最常用、最簡單、最基本的一種線性結構。
3.理解棧與隊列的特點,它們是特殊的線性表,將之與線性表比較,例如線性表有前驅與后繼,棧有進棧與出棧等,并用它們解決相應的問題,例如用棧解決遞歸問題,用隊列解決緩沖區和調度等問題。
4.理解串和數組的基本概念和存儲結構,還有矩陣的壓縮存儲等。
5.理解樹、二叉樹的各種性質與存儲結構,以及樹、二叉樹、森林之間的轉換及前中后的三種遍歷方式,二叉樹應用(二叉樹的線索,哈夫曼樹)等,并可以進行相應的遞歸和非遞歸的算法設計。
6.理解圖的定義、數據結構以及存儲方式,掌握圖的深度優先搜索遍歷方法和廣度優先搜索遍歷方法,最小生成樹的建立方法和最短路徑的求解方法等。
7.理解并掌握靜態查找:順序查找、二分查找、分塊查找;理解并掌握動態查找:二叉排序樹查找、插入和刪除;掌握哈希表算法和計算各種查找的算法復雜度。
8.理解各種排序方法的特點、原理、時間復雜度的分析和實現算法。
在教學過程中,學生才是教學的主體,教師要做的就是要培養教育學生。在這門課程上,教師就要讓學生了解到《數據結構》課程的性質和重要性,以達到讓學生重視這課程的目的。
如何讓學生的興趣提高一直是廣大教師所探尋的一個課題,為此常陷入沉思。首先,就是要激發學生的興趣異或者是學生的求知欲。對于初學者而言,這門課特點就是概念、算法較多,理論邏輯性較強,學生不知從何學起,容易起厭學心理,或被動的學習,所以,教師上課時不僅要讓學生明確學習的目的,還要教給他們如何入手這門課程的方法,采取恰當的方式幫助學生理解知識點,讓學生對這門課程產生信心。
興趣對人是非常有作用的,學生的學習興趣一旦被激發,就會有聚精會神的注意力,愉快的心理,從而提高教學的質量。初始授課時,學生對此都很陌生,所以教師要先入為主,用好的態度去面對學生,并準確把握住學生的心理變化,讓抽象的概念轉化為具體的生活上常見的實例甚至有趣的游戲讓學生主動去做,主動去想,主動去問。
到達授課中期時,也會因為課程的深入而覺得理論抽象性太強而慢慢失去了興趣,最后會什么都沒學到,更不用說怎么去用所學的知識解決實際問題。所以讓學生的興趣不中斷,也是要特別注意的。
在教學中,教師是非常重要不可缺少的。所以教師自身的能力也相當重要,要激發學生的興趣,教師的口語和態勢語都要好好的運用。運用得當將會大大的激發學生的學習熱情,從而改善教學效果。在課堂上有趣的話語,有趣動作都會讓學生的注意力集中,但又不能偏題,所以必要的準備必不可少。例如,在講授線性表中的鏈式存儲結構中,可以直接以手上的手表為例進行講解,手表一解開是一個帶有頭結點的單鏈表,戴上后是一個循環鏈表。又例如,讓一個學生為另一個學生提出課程的問題也是一種教學方式。這樣會讓整個班級的氣氛提高。教師的語音語調應該積極地感染學生,而不是消極的情緒,一個好的生活態度也會讓自己讓學生開心。
數據結構主要講授數據的邏輯結構和存儲結構,要讓學生理解“數據結構+算法=程序”的思想。數據結構還要結合CC++語言的基本概念來授課,因此,必要的CC++語言要講。數據結構中算法的難點在于它們的抽象性。首先,要讓學生了解每一種數據結構的特點以及表現形式,次之,要讓學生理解存儲方式在計算機中反映出數據結構的邏輯性,不同的存儲方式有不同的優缺點。
數據結構也是一門理論與實踐相結合的課程。在學習過程中,學生比較困擾的是理論不能與實踐相結合,經常費了好大的功夫把理論知識學會了,卻不知道怎么去運用,所以在教程上,首先要突出重點,分散難點,適當選擇有代表性、難度不大、綜合性強的算法,講完后給出一個或多個與課程相關的問題讓學生獨立思考、見解,使學生現學現賣,一來加深學生對所學知識的理解,
又能使學生學會靈活運用知識,從而讓學生有了一種成就感,也會大大增強對這門課程的興趣以及感悟。而后讓學生上機編程,調試。讓學生在實驗中加深對數據結構的處理方法,同時也鍛煉學生的編寫和調試程序的能力,提高動手操作能力,增強學習動力和信心。
在課程設計上,通過前面學生的興趣以及能力的增強,也要逐漸加強難度,這樣從課堂到課程設計,學生才會在實踐中逐漸加強加深對理論的理解。在課堂上,教師也不要一味的自己講授,可以將許多的知識點和算法先保留,引導學生自己動腦去探索、發現、領悟,讓學生自己獲得新知識。然后再給與其幫助,這樣能鍛煉到學生的自主獨立解決問題的能力,發展學生的邏輯思維能力。
數據結構課程在學科專業方面是非常重要的,其中的基本思想是設計程序的經脈,貫通總體,在教學過程中,我們要從實際角度出發,探討教學難點,希望學生不僅能理解理論知識,還要有實際動手設計能力。