1. 程式人生 > >第二章學習總結

第二章學習總結

錯誤 算法 spa 方便 程序 不同的 建立 學習 鞏固

本章我學習了有關線性表的數據結構:它可以用順序存取結構來實現也可以用鏈式存取結構來實現,具體到C++編程語言裏就是數組和鏈表。

它們各有優缺點:

順序存取結構:邏輯上相連,物理上也相連。優點就是隨機存取、查找表中元素十分方便,但缺點就是插入或者刪除操作需要移動大量的元素。

鏈式存儲結構:邏輯上相連但物理上不完全相連。優缺點與順序存儲結構剛好相反。

接下來我想起講講自己在學習本章知識的感想。

第一,不能單一參考一種資料,理解一個抽象的東西最好的方法,就是參考不同的書本,看不同版本的定義。一開始,我看到《數據結構》對鏈表的構建,我很懵逼,甚至很多名詞的意思都不懂。然後我就把上學期的課本《C++程序設計教程

》內有關鏈表的概念,鏈表常用算法(創建無序鏈表、遍歷鏈表、刪除插入釋放鏈表),有關typedef的概念以及使用。然後再結合CSDN上的一些代碼(https://blog.csdn.net/qq_33413868/article/details/80781492)對鏈表的使用進行深一步的了解。

第二,概念容易理解,但是踐行很困難。雖然書上的概念看懂了,但有些時候很難去將抽象的概念運用到具體的問題中。比如作業中的判斷選擇題,有一些不是很會,有一些答案不是很確定,讓我覺得做完題心裏還是忐忑不安。於是做完之後對不確定的答案上網搜索答案,然後想了想有些題目錯在了哪裏,在CSDN和博客園上找的,題目比較散,就不一一標註網址了。

第三,善於學習別人代碼的優秀之處。做實踐題的時候,一開始是打算建立兩個數組分別儲存兩個集合,然後將每個集合中的每個元素一一比較,最後將相同的元素放入第三個集合中。中間出現不僅一些關於C++語言語法錯誤,更重要的是方法不夠好,以空間換取時間,出現超時。詢問了一下同學,然後才會想起老師說過的sort()方法(當時上課還不太理解),根據這個思路把兩個數組排序,相等再放入第三個數組。但這個方法還是超時。最終經過黃嘉駿同學在群裏發的代碼的啟發,我就再進行修改,最後將b數組接到a數組後面,讓a數組從前往後兩兩比較,將相同的放入第三個數組中。

第四,算對自己的一些總結吧。感覺自己可能因為上學期沒學好C++,又不常詢問他人,解題沒思路。對學習編程有了恐懼感,害怕打代碼,很多時候總是害怕寫作業,但越不寫就越不熟,越到後面學得越復雜就更無從下手。所以在往後的學習中,要邊學邊做邊鞏固,作業要隨著教學進度一點點完成,遇到不懂的才能有更多時間查資料,而不是等到最後才堆到一起做,這樣做作業才不會無從下手。

第二章學習總結