⑴ 這個演算法怎麼寫
這個演算法難度不小,思路可以參考用快速排序找topk元素,
快速排序無非是每次把數據分割成兩塊,不斷在每塊裡面繼續重復這個每次,
找topk就是只在一個方向里重復到topk的數量,
你的問題也是一樣,自己控制每塊的邊界,復雜度是o(n)的
⑵ 什麼叫演算法描述啊
演算法描述(AlgorithmDescription)是指對設計出的演算法,用一種方式進行詳細的描述,以便與人交流。演算法可採用多種描述語言來描述,各種描述語言在對問題的描述能力方面存在一定的差異,可以使用自然語言、偽代碼,也可使用程序流程圖,但描述的結果必須滿足演算法的五個特徵。
演算法可採用多種描述語言來描述,例如,自然語言、計算機語言或某些偽語言。各種描述語言在對問題的描述能力方面存在一定的差異。例如,自然語言較為靈活,但不夠嚴謹。而計算機語言雖然嚴謹,但由於語法方面的限制,使得靈活性不足。
因此,許多教材中採用的是以一種計算機語言為基礎,適當添加某些功能或放寬某些限制而得到的一種類語言。這些類語言既具有計算機語言的嚴謹性,又具有靈活性,同時也容易上機實現,因而被廣泛接受。目前,許多「數據結構」教材採用類PASCAL語言、類C++或類C語言作為演算法描述語言。
(2)演算法怎麼寫擴展閱讀:
演算法的特徵
1、輸入:一個演算法必須有零個或以上輸入量。
2、輸出:一個演算法應有一個或以上輸出量,輸出量是演算法計算的結果。
3、明確性:演算法的描述必須無歧義,以保證演算法的實際執行結果是精確地符合要求或期望,通常要求實際運行結果是確定的。
4、有限性:依據圖靈的定義,一個演算法是能夠被任何圖靈完備系統模擬的一串運算,而圖靈機器只有有限個狀態、有限個輸入符號和有限個轉移函數(指令)。而一些定義更規定演算法必須在有限個步驟內完成任務。
5、有效性:又稱可行性。能夠實現,演算法中描述的操作都是可以通過已經實現的基本運算執行有限次來實現。
⑶ 演算法分析怎麼寫就是寫了一個很簡單的演算法
對於一道編寫演算法的題,在讀正確答案之前,我都有認真思考的過程,但是思路就是很混亂"這是很正常的,再猛的高手遇到問題也不會一目瞭然的,要有一個整理思路的過程,畫框圖是一個很好整理思路的過程,思想混亂說明你的思維比較敏感,對每一個問題都會不由自主進行一下發散思考,太多的分支結果導致混亂,就像你進入了一個出不來的遞歸一樣,說了這么多費話,想要表達的意思就是說,只要你不斷的去寫code,你會發現你在不知不覺中思路就清晰起來
⑷ 演算法代碼怎麼寫
按照你的要求編寫的C語言程序如下:
#include
int main(){
int n=0;
while(1){
if(n%1==0 && n%2==1 && n%3==0 && n%4==1 && n%5==1 && n%6==3 && n%7==0 && n%8==1 && n%9==0){
printf("筐里有%d個雞蛋",n);
⑸ 演算法的過程怎麼寫啊
演算法的流程書寫可通過流程圖或偽代碼來完成。
所謂流程圖是指以特定的圖形符號加上說明,表示演算法的圖,用它來表示演算法思路是一種極好的方法,因為有時候千言萬語不如一張圖形象生動易於理解,例如:
而偽代碼是介於自然語言和計算機語言之間的文字和符號(包括數學符號),它是一種不依賴於語言、用來表示程序執行過程、而不一定能編譯運行的代碼,例如:
Begin(演算法開始)
輸入 A,B,C
IF A>B 則 A→Max
否則 B→Max
IF C>Max 則 C→Max
Print Max
End (演算法結束)
⑹ 演算法怎麼寫啊
首先,查找X在L中的位置
然後插入
⑺ 演算法怎麼寫 啊
用具有一定意義的代碼(如C,Java。。。)將你所要描述的過程描述出來就是代碼
⑻ 簡便演算法怎麼寫
兩個數末尾的0去掉,去掉0的個數要一樣