數據結構與算法解析1 原

數據結構是什麼?

算法是什麼?有什麼用?

相信大家剛開始接觸這門課程的時候都有這些疑問。

數據結構在網上的定義是:計算機中存儲、組織數據的方式。

其實大家在編寫c,c++,java的程序是都已經用到了數據結構,用到了算法。

因爲 程序 = 數據結構 + 算法。

我們之所以感覺不到數據結構的存在是因爲,我們的c,我們的java這編程語言應經給我們準備好了數據類型,引用,我們只要加一些自己的操作(算法),就可以實現一個程序。我們只是忽略了,數據類型本身就是數據結構加上一些定義好的操作。只是這些我們的程序語言已經給我們提供了。

下面一個重要的概念就是抽象數據類型,其實抽象數據類型,我們們熟悉的數據類型(int,char,array),沒甚區別,當我們不考慮int,char等數據類型是在什麼編程語言裏面,實在什麼操作系統的環境下時,他們就是抽象的數據類型。當然更大的特點是,我們可以自己定義抽象數據類型,我們熟悉的數據結構棧,隊列,數組,樹,圖等都可以定義爲抽象的數據類型,方便我們的理解和使用。

對於算法,定義是解決特定問題的一中描述。可以說一個程序中數據和數據間的關係是數據結構,解決問題的方法就是算法。對於我們熟悉的排序算法,就是數據解決排序的方法。

當然算法的5個重要特性:有窮性,確定性,可行性,輸入,輸出。

判斷算法質量的指標:正確性,可讀性,健壯性,效率與地存儲量需求(時間複雜度,空間複雜度)。

以上是我通過學習後對數據結構算法定義的瞭解,我還會繼續寫,希望和大家一起分享交流,也希望各位的指導批評。

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