Ⅰ 數據結構和演算法的區別,演算法是策略,數據結構是表示方法嗎
演算法是程序計算的步驟,數據結構是要實現某種演算法,所依賴的數據存儲的方式。
Ⅱ 演算法和數據結構的關系
記得網上曾經有一個帖子,大概的列出了學習ACM來說需要的知識背景。如果不是牛人,或者天生受虐傾向,普通人看到了都會暈倒,多達100多個科目(全部需要數學背景)。樓主覺得你能學的過來嗎?
但是,所有的演算法,乃至數學在實際運用中都是要根據不同的數據來選擇不同的方法,所以一般學習過演算法和數據結構的人都會越發的認識到,數據才是程序的中心,只有找到了一個組織數據的最佳方式,演算法的運用才會事半功倍。比如我印象最深刻的是在大二時做的一道題目:判斷一個輸入的數是否符合科學計演算法。如e*103,-30.90*103就不是。 這樣一道題,如果用普通的數組線性存儲,然後逐一判斷,效率的演算法的復雜度都是不合格的。 有限狀態機則清晰明了的解決了這個問題。即把所有可能的狀態和狀態的轉換畫成一個矩陣,然後每讀取一個輸入的字元就在這些狀態中跳轉,直到最後一個字元為止,判斷最終狀態是有效還是無效狀態。
總而言之:數據結構是問題的核心,是演算法的基礎。
建議樓主先磨好數據結構這把劍,對演算法也不用著急,畢竟很多的數據結構的書中都有一些基礎演算法的介紹的。
Ⅲ 數據結構和演算法不一樣嗎
這個肯定是不一樣,有區別的。數據是一切能輸入計算機中的信息的總和,結構是指數據之間的關系。數據結構就是將數據及其之間的關系有效地存儲在計算機中並進行基本操作。
演算法是對特定問題求解步驟的一種描述,通俗講就是解決問題的方法和策略。
但是他們又是相輔相成的。只有數據結構沒有演算法,相當於只把數據存儲到計算機中,而沒有有效的方法去處理,就像一幢只有框架的爛尾樓;若只有演算法,沒有數據結構,就像沙漠里的海市蜃樓,只不過是空中樓閣罷了。
數據結構是演算法實現的基礎,演算法總是要依賴於某種數據結構來實現的。數據結構是數據間的有機關系,而演算法是對數據的操作步驟;兩者不可分開來談,不能脫離演算法來討論數據結構,也不能脫離數據結構研究演算法。
如果你還不太清楚,或者想知道的更多,可以去了解一下小碼哥李明傑。
Ⅳ 學完C語言,接下來是先學數據結構還是演算法
學完C語言後,一般是學並陸習數據結構的。
因為演算法就包括數據結構的,本身羨臘數據結構是演算法中的基礎絕派頃演算法。
Ⅳ 數據結構與演算法是屬於同一門課程嗎
不屬於同一門課程,但相互聯系緊密