數(shù)據(jù)結構順序棧的實現(xiàn)代碼 為什么學校里的數(shù)據(jù)結構教的是用偽代碼,而不用具體語言實現(xiàn),考試也是用偽代碼,怎么感覺偽代碼更記不???
為什么學校里的數(shù)據(jù)結構教的是用偽代碼,而不用具體語言實現(xiàn),考試也是用偽代碼,怎么感覺偽代碼更記不住?使用偽代碼是正確的方法。學習編程時,不要受特定語言的束縛。過去,很多人說算法和數(shù)據(jù)結構一開口就是C,
為什么學校里的數(shù)據(jù)結構教的是用偽代碼,而不用具體語言實現(xiàn),考試也是用偽代碼,怎么感覺偽代碼更記不?。?/h2>
使用偽代碼是正確的方法。學習編程時,不要受特定語言的束縛。過去,很多人說算法和數(shù)據(jù)結構一開口就是C,但換成其他語言就不是C了。那是愚蠢的閱讀。最初,編寫程序也應該在開始時編寫偽代碼。只有當偽代碼編寫完成后,才能用特定的語言實現(xiàn)。只是當你在腦子里做這一步的時候,你可以直接鍵入特定的語言代碼。其他人似乎認為您不需要偽代碼。如果沒有這種想法,如果你讓他把一個程序換成另一種語言,他就做不到。例如,估計有些人認為他們不能用數(shù)據(jù)庫制作鏈表或樹形圖。
為什么剛入門的程序員沒有感覺到算法和數(shù)據(jù)結構的重要性?
關于這個問題,我首先非常遺憾地告訴大家兩點。
首先,能夠問這個問題意味著你不是一個程序員。只能說你才剛剛開始學習編程(即使你有一份編程工作,你也不能改變這一點)。就像說一個剛學了三個月吉他的人不能稱自己為吉他手(但他可以說是吉他手或吉他手)。
其次,我很抱歉地告訴你,你還沒有開始。入門的先決條件之一是理解程序?qū)嶋H上是一個算法數(shù)據(jù)結構。所以你說你是一個入門級程序員,但你不覺得算法和數(shù)據(jù)結構的重要性。那么我想問一下,除了算法和數(shù)據(jù)結構之外,程序中還有什么重要的東西。
不理解狹義的算法,認為算法是排序算法、搜索算法,認為數(shù)據(jù)結構是數(shù)組、鏈表、哈希表、圖形等。這些都是經(jīng)典的算法和數(shù)據(jù)結構。
你寫的程序,不能有任何這些經(jīng)典的數(shù)據(jù)結構和算法,那么,你的程序沒有算法和數(shù)據(jù)結構嗎?你的程序必須解決一個問題或做些什么。這些東西,你首先需要在計算機世界建立一個模型,這個模型就是數(shù)據(jù)結構?;谶@些數(shù)據(jù),您的程序需要執(zhí)行一些指令,這些指令是作為一個整體的算法。因此,program=algorithm數(shù)據(jù)結構就是在這個廣義上說的。
正是因為“程序=算法數(shù)據(jù)結構”,所以沒有了算法和數(shù)據(jù)結構,程序中就沒有殘留。至于算法和數(shù)據(jù)結構之間的關系,我不在這里討論。總之,沒有數(shù)據(jù),算法就沒有對象和基礎。數(shù)據(jù)結構的設計和合理性將影響算法的性能。
為什么你感覺不到?答案是我答案開頭的兩點。我說的話似乎有點殘忍,但實際上沒什么。繼續(xù)學習。
程序員需要終身學習。
數(shù)據(jù)結構的代碼如何學習?
數(shù)據(jù)結構主要是應用概念和處理流程,所以在學習的時候,首先要弄清楚什么樣的概念是針對什么樣的數(shù)據(jù)提出的,也就是說要弄清楚數(shù)據(jù)元素的邏輯關系和內(nèi)存存儲關系。第二點是闡明數(shù)據(jù)操作過程的細節(jié)。只有熟悉了兩者,再結合邏輯、流程和實現(xiàn)代碼,才能清晰地理解代碼。最重要的一點是根據(jù)自己的理解在電腦上實現(xiàn)!來自著名科技大學的學生做得更好。綜合性名牌大學或普通大學都說,只要理解了這個概念,就不需要去實現(xiàn)。這是非常有害的!如果你不能做好小事,為什么要做大事?