好用的數據結構

    這是我第一次寫博客!感覺好緊張阿!哈哈~~


     根據我的比較膚淺的理解呢!要用好數據結構  ,首先必須得要熟悉vector與list,最好要自己能實現這兩種數據結構的基本功能。這應該是最起碼的要求!

     

      然後最重要的就是樹了,無論是二叉查找數,還是AVL樹,還是一般的樹,都應該要清楚的瞭解,也要自己試着實現樹的基本功能,話說我去年學數據結構的時候在樹這裏可是花了好大的力氣,基本的樹結構我都自己成功實現了,感覺收穫真的不小!


    有了樹的知識,接下來要學堆,不相交集類,散列就輕鬆多了!不過還是得認真的學習,因爲裏面真的奧妙無窮!尤其是最優雅的優先隊列和最神奇的散列,這麼些個數據結構絕對會讓我們感嘆那些天才是有多麼的了不起!哈哈!


    至於那些數據結構好用呢,我覺得首當其衝的應該是優先隊列吧!至少我對它是情有獨鍾!在許許多多的貪心算法中都離不開這種優雅的數據結構!貪心算法就是靠他才能實現高效的,而且在排序的時候,運用堆排序也是極爲簡單而且高效!


    不過凡事都不能十全十美阿!優先隊列的最大缺陷是不能實現高效的查找!當然,查找最大值除外!這是我們就需要利用二叉樹 了,在STL裏有給我們提供set與map兩種極爲有用的結構,在許許多多的查找中都能利用他們實現高效的算法!不過我本人用的也不怎麼熟練,還要認真研究研究!

 

  當然!那些簡單的數據結構也是非常具有利用價值的,比如stack,函數的遞歸調用就是用棧實現的,還有計算器的實現等等!利用空間非常大!當然!動態數組vector和list是寫程序必須要用的!反正我自己寫程序都是離不開這些基本數據結構的,有了他們,代碼才能更清晰,纔會更高效!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章