㈠ 寫演算法題為什麼大多用c語言而不用java
首先c語言的效率比較高,執行起來比較快
其次演算法有不少需要對浮點的數據做定點的截斷,這個用c語言比較通用。同時代碼量相對來說不大。
另外不少演算法在晶元上面去實現,很多晶元驗證環境同時支持c語言的參考模型。
㈡ c語言中什麼是演算法有哪些描述演算法的例子
1、有窮性(有限性)。任何一種提出的解題方法都是在有限的操作步驟內可以完成的。
如果在有限的操作步驟內完不成,得不到結果,這樣的演算法將無限的執行下去,永遠不會停止。除非手動停止。例如操作系統就不具有有窮性,它可以一直運行。
2、一個演算法應該具有以下七個重要的特徵:
1)有窮性(finiteness)
演算法的有窮性是指演算法必須能在執行有限個步驟之後終止
2)確切性(definiteness)
演算法的每一步驟必須有確切的定義;
3)輸入項(input)
一個演算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指演算法本身定出了初始條件;
4)輸出項(output)
一個演算法有一個或多個輸出,以反映對輸入數據加工後的結果.沒有輸出的演算法是毫無意義的;
5)可行性(effectiveness)
演算法中執行的任何計算步都是可以被分解為基本的可執行的操作步,即每個計算步都可以在有限時間內完成;
6)
高效性(high
efficiency)
執行速度快,佔用資源少;
7)
健壯性(robustness)
健壯性又稱魯棒性,是指軟體對於規范要求以外的輸入情況的處理能力。所謂健壯的系統是指對於規范要求以外的輸入能夠判斷出這個輸入不符合規范要求,並能有合理的處理方式。
㈢ 數據結構演算法是什麼語言寫的,是c語言嗎,看不懂啊
這個確實是用c寫的,SqList是封裝的一個數據結構,這個函數就是對這個數據結構進行的操作。
你只需要明白SqList這個封裝的數據結構(一般是一個結構體),然後就會知道這個函數是怎麼操作的啦。
㈣ C語言 演算法是什麼意思
演算法就是解決方法,相當於數學,物理題里的解題方法。
一般解數學題不是都有一套解題思路嗎,演算法就類似這個,演算法就是用C語言編程解決實際問題的思路方法。
舉個例子,比如求1+2+3+4+5+6+7+8+9之和
演算法就是這個
for(i=0,i<10,i++)
i=i+1
用C語言的格式解決實際問題所需要用到的公式套路就是演算法
㈤ 為什麼演算法和數據數據結構都是c語言
因為C語言是面向過程中最強大的,沒有之一
㈥ 演算法的樂趣講的是c語言嗎
不是的,演算法不一定是要講c語言。二是因為c語言比較經典,所以一些數據結構都採用隊員來做講課其他的醫院也都是可以研究七算吧,或者是數據結構的。
㈦ 數據結構與演算法和c語言有什麼關系嗎
數據結構和演算法在本質上說和C語言沒有關系,C語言僅僅是描述工具而已,就像要講一個故事,可以用漢語,也可以用英語。數據結構和演算法同樣可以用java,用c#等語言,甚至自然語言也可以描述。
數據結構與演算法是計算機科學,具體的實現無非就是些數據交換和變化,這些交換和變化大都是在內存中進行的,而c/c++操作內存的能力要強於其他語言(當然匯編在操作內存方面更強,但離自然語言太遠,不易理解),所以學習數據結構和演算法就常使用c/c++語言當作描述工具。
㈧ c語言不能用來描述演算法對嗎
不對,可以描述演算法
2 講 演算法及用C語言描述演算法 ; 通過介紹演算法的性質、組成要素和舉例,引入流程圖和N-S圖來描述演算法。進一步,用C語句來實現演算法。 ;算 法;2 簡單演算法舉例;演算法表示如下:S1:2000→yearS2:若year不能被4整除,則輸出year不是閏年,轉S6S3:year能被4整除,不能被100整除,則輸出year是閏年,轉S6S4: year能被100整除,又能被400整除,則輸出year是閏年;否則輸出不是閏年。然後轉S6S5:輸出year不是閏年S6:year+1→yearS7:若year≤2500,轉S2;否則演算法停止。注意:有的問題對判斷的先後次序無關;但有的問題不能任意顛倒判斷的先後順序。;例2.4 求S1:sign=1S2:sum=1S3:deno=2S4:sign=(-1) ×signS5:term=sign ×(1/deno)S6:sum=sum+termS7:deno=deno+1S8:若deno≤100返回S4;否則演算法結束。;例2.5 判斷一個大於等於3的正整數是否為素數。素數:只能被1和其本身整除的數。S1:輸入n的值S2:i=2(i作為除數)S3:n被i除,得余數rS4:若r=0,不是素數,演算法結束;否則執行S5S5:i+1→iS6:若i≤n-1,返回S3;否則是素數,結束。實際上只需判斷n能否被2~ 之間的整數整除即可。所以S6可改為:S6:若i≤ ,返回S3;否則是素數,結束。;3. 演算法的組成要素 操作。如算術運算、邏輯運算、關系運算、函數運算等。 控制結構。用於控制組成演算法的各操作的執行順序。結構化程序設計中,順序、選擇和循環3種基本結構能組成任何結構的演算法。;2)選擇結構(又稱選取結構、分支結構);3)循環結構(又稱重復結構) 分為當型循環結構和直到型循環結構。;;5. 偽代碼與逐步細化的程序設計方法 偽代碼(pseudo code):介於自然語言與計算機語言之間的文字元號演算法描述工具。一般步驟為:1) 自頂向下,將問題描述為幾個子問題或子功能,不要試圖一下子就觸及問題解法的細節。2) 在子問題一級描述演算法。;用C語句描述演算法;例. 3個數中取大數—逐步細化法設計程序; ③寫主函數的條件已經成熟 ;④仍按逐步細化的方法設計max3()的演算法。設三個參數為x,y,z。 S2.1:從x, y中取出大數送m S2.2:從m,z中取出大數送m S2.3:??回m給主調函數進一步細化得: S2.1:if (x>y) m=x; else m=y; S2.2:if (m>z) m=m; else m=z; S2.3:return(m);;⑤很容易用C語言寫出函數max3()。;[例2.20]:用C語言表示求5!的演算法 ;[例2.21]:用C語言表示求下列級數的演算法 ;結構化程序設計方法
㈨ C語言中的演算法是指什麼
演算法(Algorithm)是指完成一個任務所需要的具體步驟和方法。也就是說給定初始狀態或輸入數據,能夠得出所要求或期望的終止狀態或輸出數據。
演算法常常含有重復的步驟和一些比較或邏輯判斷。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間復雜度與時間復雜度來衡量。
筆者學過數據結構就會對演算法更加了解。