資料結構的基本演算法如何學得紮實,做題寫專案游刃有餘。

時間 2021-10-16 16:54:27

1樓:AmberGarden

資料結構主要分為如何定義資料結構裡面的資料和如何運算元據

把自己的主要精力放在這兩部分:

資料部分。為什麼在這個資料結構裡面有這些資料,它裡面記錄了什麼資訊,這些資訊的修改規則是什麼,和其它資料是否有關聯?

操作部分。每個操作是要達成什麼目標?這個目標達成以後資料是什麼樣的?我們該怎麼操作它?邊界條件有哪些?

舉個例子,大家都知道鍊錶求長度的時候效能差。但如果想用鍊錶實現乙個佇列,它可以返回當前佇列的長度。我們該怎麼做呢。。。?

記錄乙個額外的長度資料,並使它記錄的資料和鍊錶的實際長度一致。那麼此時這個佇列裡面記錄的資料其實就有了相關性。每次入隊和出隊要保證記錄的長度是正確的

那麼就以出隊為例。出隊就是把最前面那個鍊錶結點移出,同時把它的長度減少一。好,我們挨個處理這些資料:

首先用臨時指標記錄下鍊錶的頭結點,然後將鍊錶的頭結點後移,再釋放臨時結點指向的記憶體。鍊錶操作完畢了,我們再將鍊錶的長度減一。(當然先減一再操作鍊錶也可以)。

最後就是邊界條件了:如果這時候鍊錶裡面沒結點,我們是不是應該丟擲乙個異常

2樓:謝勇

1. 找本資料結構的書,搞清楚各種資料結構的應用場景,能做什麼,不能做什麼,各操作的時間複雜度。

2. 把書裡所有的資料結構和演算法全部實現一遍。

3. 課後的習題ak掉。

怎麼高效得學習資料結構和演算法?

岳陽樓妓 多練,找一些練習題,多寫才會有效果,光靠記效率是極其低下的,最好練習,做的多了就理解了。或者一遍練習,一遍看看各種演算法和資料結構,邊看邊練。 3cpj 掌握一門計算機語言是前提。如果沒有基礎的計算機語言知識,很難說實現演算法了,不但要掌握,而且還要熟悉,譬如 c 語言作為入門的經典語言,...

怎樣反駁 程式 演算法 資料結構 的言論?

程式 演算法 資料結構 這個沒有錯.但是老闆需要的不是程式,而是乙個特定的應用程式.白馬非馬.應用程式不是程式.說 程式 演算法 資料結構 缺乏現實意義.對需求的滿足沒有幫助.以上.if 0 你就是說贏他也沒用呀,你基本功還是比不過他呀.else 你管他說什麼啊.練自己的本事就好了嘛.endif 很...

學新的語言還是學演算法資料結構?

早起的鳥兒 資料結構真的很重要!你可以學一門語言的時候,順便再用它來寫資料結構。資料結構學的差不多的時候,這門語言的語法也基本上學完了。其實,同一類的語言語法相似點很多的,只要學會一種,其他的都很好學。 賴敬之 瀉藥個人認為基礎打好比較重要,C語言的話建議先閱讀一遍 C primer plus 這本...