1. c語言與演算法和數據結構的關系
① 不要認為單獨學C很難真正編寫出程序。
② 不要太認為你沒學數據結構和演算法難以解決實際編程問題。
③ C語言只要你熟練掌握,這就是你學Data structure and Algorithms 的基礎。
④ 學好數構和演算法的前提是:你C語言用得比較熟練了(特別是指針、復合變數、數組的編程運用)
⑤ 最後,你只要看一本關於數據結構和演算法的書就夠了《演算法導論》(國外的那本),如果要深入搞懂它,最好看它之前看Knuth的一本《Concrete Mathematics》。演算法導論算是演算法與數據結構的聖經了,裡面充分講了演算法和數據結構的大部分理論和實踐。
⑥另外,演算法和數據結構是有深刻關系的,但是你完全可以學演算法的時候不用復雜數據結構就能解決大部分問題;或者不用復雜演算法,單憑構造復雜數據結構解決復雜問題。
2. 數據結構演算法與c語言的關系
C語言是工具,數據結構是基礎,演算法是核心且有難有易,初級的編程只要懂編程語言和一般演算法即可,至於數據結構可作一般了解;中級的編程要對數據結構和演算法有深入的理解和掌握;高級的編程就需要完全理解各種數據結構以及自己編寫演算法了!不過現在的很多程序員都是在中級階段的居多吧!
3. C語言與演算法和數據結構分別有什麼關系
數據結構的主要作用是幫助你提升自己的編程思維!使你編寫程序的時候有一個好的思維和框架!使你寫的代碼和程序有一個好的框架!數據結構研究的是數據的邏輯結構、存儲結構(物理結構)和數據的運算.其中的數據運算就是指演算法
演算法只是具體的實現步驟的指令集合!但是演算法也是數據結構最重要的一部份!設計一個好的演算法可以提高自己程序的運行效率!(演算法不一定要求能夠在計算機上直接運行,但程序必須要求能在計算機中運行)
C語言只是對演算法或者數據結構的描述!描述數據結構和演算法不局限於C語言,也可以是C++語言和其他的計算機語言甚至也可以用人的自然語言!
所以只是說學習好C語言能夠使自己學習的數據結構理論更好的在計算機中描述和表達!
4. 數據結構演算法與c語言的關系
演算法就是數據的組織形式(結構)和計算方法;
c語音可將演算法具體實現,用c語音的語法實現數據結構的組織和定義,用c語音程序或函數實現數據的計算,並考慮人機交互的輸入、輸出問題。
一個抽象,一個具體
5. 「C語言」 「演算法」 「資料庫」 之間是什麼關系為什麼是單獨分幾本書的呢
簡單的可以這么理解, C語言可以用以實現演算法及資料庫。 演算法的范圍很大。 一般應用,數據的存儲都委託給資料庫了。
6. 為什麼數學書上學的演算法和c語言的關系
這個是偽代碼,也就是並不是真正意義上的代碼
偽代碼(Pseudocode)是一種演算法描述語言。使用偽代碼的目的是為了使被描述的演算法可以容易地以任何一種編程語言(Pascal,C,Java,etc)實現。因此,偽代碼必須結構清晰、代碼簡單、可讀性好,並且類似自然語言。 介於自然語言與編程語言之間。以編程語言的書寫形式指明演算法職能。使用偽代碼, 不用拘泥於具體實現。相比程序語言(例如Java, C++,C, Dephi 等等)它更類似自然語言。它是半形式化、不標準的語言。可以將整個演算法運行過程的結構用接近自然語言的形式(可以使用任何一種你熟悉的文字,關鍵是把程序的意思表達出來)描述出來。
7. 計算機演算法和C語言編程的關系
通俗點的說法,可以把解決問題方法的過程叫做演算法。有了演算法之後,可以讓張三、李四或者是其他人,去按照這個演算法去解決問題。那麼 C語語言(還有C#、java、VB等) 在這里可以理解成張三、李四去實現演算法的人。
8. 沒學過C語言可以學C語言數據結構與演算法嗎
沒有學過C語言或者C++的話,學數據結構(C語言版、C++版) 是非常困難的。因為數據結構是建立在對應的語言上的,所以說首先要學語言。建議學C語言,它是計算機語言的基礎,C++、java 都是從C上發展過來的。學過C後 在學 C++/java的話,你會發現事半功倍,而且對你 介入程序員行當很又幫助,而且 C 與VB 很多地方是相通的不同是指針那塊,學起來也容易的多。
沒有學過 C語言或者C++ 的話 學起數據結構(C語言版、C++版) 都是不可能的 因為 數據結構是建立在 對應的語言上的,所以說首先要學語言 如果你想 有很堅實的計算機基礎的話 那你就 學C 語言 雖然C語言實用性好 很與時具進 但是不容易學 所以建議你學C語言 ,它是計算機語言的基礎,C++、java 都是從C上發展過來的學過C後 在學 C++/java的話 你會發現事半功倍,而且對你 介入程序員行當很又幫助 而且 C 與VB 很多地方 是相通的 不同是指針那塊 學起來也容易的多
首先有個東西你需要了解到,程序 = 演算法 + 數據結構,無論我們是學Java、Python、PHP還是C語言,對數據結構都要有一定的了解,如今很多學編程的人,只注重語法上的使用,當然或多或少都有對數據結構有學習過的,而那些根本沒學過數據結構的人呢?就只能強行去理解使用。其實數據結構是一門具有藝術性的學科。
如何更好地理解數據結構?
一圖一代碼
一功能一函數
一圖一代碼
任何的數據結構的操作,其實都是建立在實際的物理模型之上,我們在學習數據結構的時候,首先你要了解長相,其次在做相應結構實際操作是要根據自己的邏輯圖去分析,所有的代碼源自於自己的物理模型,數據結構中的結構體定義其實就是描述事物的特徵.
一下簡單的舉例一下
棧結構
大頂堆
二叉樹
一功能一函數
我們在寫數據結構的時候, 一定要一函數以功能,劃分明確,出錯易找,寫起來也容易上手,而一功能也能一圖。以鏈式結構為例。
所有的代碼都是源自於物理分析,也就是所謂的畫圖說話
9. C語言與演算法的區別是什麼
C語言是一門編程語言
而演算法是指解題方案的准確而完整的描述
區別的話,舉個例子,有一個演算法,他既可以在C語言上實現,也可以在B語言,java,c++,python上實現。演算法是程序設計的一部分,而編程語言就是實現演算法的工具
10. 數據結構演算法(C語言描述)和C或C++程序具體什麼關系啊
一般來說,演算法可以被計算機模擬出來,就是說可以被我們寫程序寫出來。程序只是一個手段,讓計算機去機械式地執行,演算法才是靈魂,驅動計算機「怎麼去」執行。
演算法和語言沒有關系,任何一門功能完整的語言都可以描述演算法,但是執行效率和實現者的水平,還有語言本身的執行效率有關。比如java就比c慢很多,所以在很多做題網站上,如果你用java提交,時限一般是幾倍的。
函數就是所謂的功能,沒錯,演算法可以當函數用(正確來講,演算法本身就包含若干個函數),但是你不了解演算法的個中原理,你怎麼懂得去運用??你若了解的話,ACM比賽是可以帶模板去的,所謂的模板就是各個演算法的常式,你不用怕忘了某個演算法寫不出來,但是你往往看到一道題你不知道是用那個演算法,因為題目的數學模型會隱藏起來,你演算法厲害才能提取出來。