當前位置:首頁 » 操作系統 » 演算法問題描述

演算法問題描述

發布時間: 2022-05-16 17:53:23

『壹』 演算法是解決問題的思路,確定演算法以後可以通過什麼什麼什麼或什麼來描述。

1、演算法就是解決問題的【方法】和【步驟】.
2、演算法描述可以有多種表達方法,一般用【自然語言】【流程圖】和【偽代碼】描述.
3、【偽代碼(Pseudocode)】是介於自然語言和計算機程序語言之間的一種演算法描述.它也是專業軟體開發人員描述演算法的一種常用方法.
4、【演算法】是程序設計的「靈魂」,世界著名計算機科學家【尼克勞斯沃思(NWirth)】指出:【演算法】 + 數據結構=程序.
5、程序設計語言的發展經歷了機器語言、匯編語言到【高級語言】的過程.其中計算機可以直接識別的是【機器語言】,它是由【一串由「0」和「1」構成的二進制】代碼.
望採納.

『貳』 演算法的描述、特性以及概念

描述演算法的方法有多種,常用的有自然語言、結構化流程圖、偽代碼和PAD圖等,其中最普遍的是流程圖。

分類:演算法可大致分為基本演算法、數據結構的演算法、數論與代數演算法、計算幾何的演算法、圖論的演算法、動態規劃以及數值分析、加密演算法、排序演算法、檢索演算法、隨機化演算法、並行演算法,厄米變形模型,隨機森林演算法。

特徵:有窮性,演算法的有窮性是指演算法必須能在執行有限個步驟之後終止;確切性,演算法的每一步驟必須有確切的定義;輸入項:一個演算法有0個或多個輸入,;輸出項;可行性,演算法中執行的任何計算步驟都是可以被分解為基本的可執行的操作步,即每個計算步都可以在有限時間內完成。

(2)演算法問題描述擴展閱讀

演算法歷史:

「演算法」即演演算法的大陸中文名稱出自《周髀算經》;而英文名稱Algorithm 來自於9世紀波斯數學家al-Khwarizmi,al-Khwarizmi在數學上提出了演算法這個概念。「演算法」,意思是阿拉伯數字的運演算法則,在18世紀演變為"algorithm"。

因為巴貝奇未能完成他的巴貝奇分析機,這個演算法未能在巴貝奇分析機上執行。 20世紀的英國數學家圖靈提出了著名的圖靈論題,並提出一種假想的計算機的抽象模型,這個模型被稱為圖靈機。圖靈機的出現解決了演算法定義的難題,圖靈的思想對演算法的發展起到了重要作用。

『叄』 1、演算法就是解決問題的___________和_________。 2、演算法描述可以有多種表達方法,一般用______

1、演算法是解決問題的清晰指令和策略機制。

2、演算法描述可以有多種表達方法,一般用自然語言、結構化流程圖和偽代碼描述。

3、偽代碼是介於自然語言和計算機程序語言之間的一種演算法描述。它也是專業軟體開發人員描述演算法的一種常用方法。

4、演算法是程序設計的「靈魂」,世界著名計算機科學家尼克勞斯·沃斯(N·Wirth)指出:演算法 + 數據結構=程序。

5、程序設計語言的發展經歷了機器語言、匯編語言到高級語言的過程。其中計算機可以直接識別的是機器語言,它是由「0」和「1」構成的代碼。

(3)演算法問題描述擴展閱讀

演算法的評定標准:

同一問題可用不同演算法解決,而一個演算法的質量優劣將影響到演算法乃至程序的效率。演算法分析的目的在於選擇合適演算法和改進演算法。一個演算法的評價主要從時間復雜度和空間復雜度來考慮。

1、時間復雜度:演算法的時間復雜度是指執行演算法所需要的計算工作量。

一般來說,計算機演算法是問題規模n的函數f(n)演算法的時間復雜度也因此記做:T(n)=Ο(f(n))。因此,問題的規模n 越大,演算法執行的時間的增長率與f(n) 的增長率正相關,稱作漸進時間復雜度

2、空間復雜度:演算法的空間復雜度是指演算法需要消耗的內存空間。

其計算和表示方法與時間復雜度類似,一般都用復雜度的漸近性來表示。同時間復雜度相比,空間復雜度的分析要簡單得多。

3、正確性:演算法的正確性是評價一個演算法優劣的最重要的標准。

4、可讀性:演算法的可讀性是指一個演算法可供人們閱讀的容易程度。

5、健壯性:健壯性是指一個演算法對不合理數據輸入的反應能力和處理能力,也稱為容錯性。

『肆』 描述演算法的常用方法

1.什麼是演算法
從字面上來說,演算法也就是用於計算的方法。是用來解決某些問題的方法。通過這個方法,可以達到想要的計算結果。它就像我們小時候學些的一些數學公式和解題步驟。
演算法,一般有5個特徵:

有窮性:
演算法的執行步驟、時間、都是有限的。不會無休止的一直執行下去。
確切性:
演算法的每一步都必須有明確的定義和描述。
輸入:
一個演算法應該有相應的輸入條件,就像我們小時候做的應用題,已知什麼什麼。來求某個結果,已知部分便是輸入條件。
輸出:
演算法必須有明確的結果輸出。沒有結果,那這個演算法是沒有任何意義的。
可行性:
演算法的步驟必須是可行的,無法執行的則沒有意義,也解決不了任何問題
2.演算法的分類
按照演算法的應用來分:演算法可以分為基本演算法、幾何演算法、加密/解密演算法、查找演算法、圖標數據分析演算法等。
按照演算法的思路來分:演算法可以分為遞推演算法、遞歸演算法、窮舉演算法、分治演算法等。

下面,我們就來講我們的重點之一:也就是演算法思想:

3.常用演算法思想
窮舉演算法思想;
遞推演算法思想;
遞歸演算法思想;
分治演算法思想;
概率演算法思想;

『伍』 什麼是演算法試從日常生活中找3個例子,描述它們的演算法

演算法就是解決問題的方法比如你要喝茶就要先找到茶葉,燒一壺開水,然後將茶葉放到杯子里,然後將開水倒入杯中,然後等一段時間再比如你要從a地到b地,中間可能有多種汽車換乘方案,是選速度最快的,還是選最省錢的,還是平衡的,制定換乘方案就是演算法。

『陸』 c語言問題: 什麼是演算法試從日常生活中找3個例子,描述它們的演算法。 詳細點,謝謝!

c語言中的演算法是指:一系列解決問題的清晰指令,用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。通俗說就是解決問題的方法和步驟。

描述演算法的例子:

  1. 問題:從上海去到北京。

    其中的演算法:做汽車、做飛機、或者徒步。

  2. 問題:喝茶。

    其中的演算法:先找到茶葉,再燒一壺開水,然後將茶葉放到杯子里,將開水倒入杯中,等茶葉泡好。

  3. 問題:開車。

    其中的演算法:首先要打開車門,駕駛員坐好,插上車鑰匙,發動汽車。

『柒』 c語言中什麼是演算法有哪些描述演算法的例子

1、有窮性(有限性)。任何一種提出的解題方法都是在有限的操作步驟內可以完成的。
如果在有限的操作步驟內完不成,得不到結果,這樣的演算法將無限的執行下去,永遠不會停止。除非手動停止。例如操作系統就不具有有窮性,它可以一直運行。
2、一個演算法應該具有以下七個重要的特徵:
1)有窮性(finiteness)
演算法的有窮性是指演算法必須能在執行有限個步驟之後終止
2)確切性(definiteness)
演算法的每一步驟必須有確切的定義;
3)輸入項(input)
一個演算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指演算法本身定出了初始條件;
4)輸出項(output)
一個演算法有一個或多個輸出,以反映對輸入數據加工後的結果.沒有輸出的演算法是毫無意義的;
5)可行性(effectiveness)
演算法中執行的任何計算步都是可以被分解為基本的可執行的操作步,即每個計算步都可以在有限時間內完成;
6)
高效性(high
efficiency)
執行速度快,佔用資源少;
7)
健壯性(robustness)
健壯性又稱魯棒性,是指軟體對於規范要求以外的輸入情況的處理能力。所謂健壯的系統是指對於規范要求以外的輸入能夠判斷出這個輸入不符合規范要求,並能有合理的處理方式。

『捌』 什麼叫演算法演算法有哪幾種表示方法

演算法(Algorithm)是指解題方案的准確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。計算機科學家往往將「演算法」一詞的含義限定為此類「符號演算法」。「演算法」概念的初步定義:一個演算法是解決一個問題的進程。而並不需要每次都發明一個解決方案。

已知的演算法有很多,例如「分治法」、「枚舉測試法」、「貪心演算法」、「隨機演算法」等。

(8)演算法問題描述擴展閱讀

演算法中的「分治法」

「分治法」是把一個復雜的問題拆分成兩個較為簡單的子問題,進而兩個子問題又可以分別拆分成另外兩個更簡單的子問題,以此類推。問題不斷被層層拆解。然後,子問題的解被逐層整合,構成了原問題的解。

高德納曾用過一個郵局分發信件的例子對「分治法」進行了解釋:信件根據不同城市區域被分進不同的袋子里;每個郵遞員負責投遞一個區域的信件,對應每棟樓,將自己負責的信件分裝進更小的袋子;每個大樓管理員再將小袋子里的信件分發給對應的公寓。

『玖』 給出一些基本的演算法問題並給出答案

C語言演算法基礎
演算法(Algorithm):計算機解題的基本思想方法和步驟。演算法的描述:是對要解決一個問題或要完成一項任務所採取的方法和步驟的描述,包括需要什麼數據(輸入什麼數據、輸出什麼結果)、採用什麼結構、使用什麼語句以及如何安排這些語句等。通常使用自然語言、結構化流程圖、偽代碼等來描述演算法。
一、計數、求和、求階乘等簡單演算法
此類問題都要使用循環,要注意根據問題確定循環變數的初值、終值或結束條件,更要注意用來表示計數、和、階乘的變數的初值。
例:用隨機函數產生100個[0,99]范圍內的隨機整數,統計個位上的數字分別為1,2,3,4,5,6,7,8,9,0的數的個數並列印出來。
本題使用數組來處理,用數組a[100]存放產生的確100個隨機整數,數組x[10]來存放個位上的數字分別為1,2,3,4,5,6,7,8,9,0的數的個數。即個位是1的個數存放在x[1]中,個位是2的個數存放在x[2]中,……個位是0的個數存放在x[10]。
void main()
{ int a[101],x[11],i,p;
for(i=0;i<=11;i++)
x[i]=0;
for(i=1;i<=100;i++)
{ a[i]=rand() % 100;
printf("%4d",a[i]);
if(i%10==0)printf("\n");
}
for(i=1;i<=100;i++)
{ p=a[i]%10;
if(p==0) p=10;
x[p]=x[p]+1;
}
for(i=1;i<=10;i++)
{ p=i;
if(i==10) p=0;
printf("%d,%d\n",p,x[i]);
}
printf("\n");
}
二、求兩個整數的最大公約數、最小公倍數
分析:求最大公約數的演算法思想:(最小公倍數=兩個整數之積/最大公約數)
(1) 對於已知兩數m,n,使得m>n;
(2) m除以n得余數r;
(3) 若r=0,則n為求得的最大公約數,演算法結束;否則執行(4);
(4) m←n,n←r,再重復執行(2)。
例如: 求 m=14 ,n=6 的最大公約數. m n r
14 6 2
6 2 0
void main()
{ int nm,r,n,m,t;
printf("please input two numbers:\n");
scanf("%d,%d",&m,&n);
nm=n*m;
if (m<n)
{ t=n; n=m; m=t; }
r=m%n;
while (r!=0)
{ m=n; n=r; r=m%n; }
printf("最大公約數:%d\n",n);
printf("最小公倍數:%d\n",nm/n);
}
三、判斷素數
只能被1或本身整除的數稱為素數 基本思想:把m作為被除數,將2—INT( )作為除數,如果都除不盡,m就是素數,否則就不是。(可用以下程序段實現)
void main()
{ int m,i,k;
printf("please input a number:\n");
scanf("%d",&m);
k=sqrt(m);
for(i=2;i<k;i++)
if(m%i==0) break;
if(i>=k)
printf("該數是素數");
else
printf("該數不是素數");
}
將其寫成一函數,若為素數返回1,不是則返回0
int prime( m%)
{int i,k;
k=sqrt(m);
for(i=2;i<k;i++)
if(m%i==0) return 0;
return 1;
}

『拾』 4、 說明什麼是演算法,演算法的描述方法,各種方法的特點是什麼。

第一問、答:為解決某一問題而設計的確定的有限的步驟就稱為演算法
第二問、答:自然語言、流程圖、偽代碼或程序設計語言
第三問、答:
自然語言
用自然語言表示演算法,人比較容易理解,但書寫較煩瑣,具有不確切性,容易引起歧義,造成誤解;
對較復雜的問題,用自然語言難以表達准確;
計算機不能識別和執行。

流程圖
用圖形符號表示演算法必須要有一組統一規定、含義確定的專用符號;
用流程圖表示演算法就較直觀、形象;
計算機不能識別和執行。

偽代碼或程序設計語言
只有用計算機能理解和執行的程序設計語言把演算法表示出來,輸入計算機執行,計算機才能按照預定的演算法去解決問題;
不同類型的計算機能夠識別的指令和語言不盡相同,即使對同一種計算機語言,不同類型的計算機對該語言的翻譯程序也有差異。

熱點內容
現在玩游戲的電腦需要什麼配置 發布:2024-04-20 17:09:57 瀏覽:194
游樂園的密碼一般為多少 發布:2024-04-20 17:09:51 瀏覽:40
興元安卓機怎麼進系統 發布:2024-04-20 17:07:16 瀏覽:805
我的世界伺服器如何放村民 發布:2024-04-20 17:05:35 瀏覽:358
手機反編譯dex 發布:2024-04-20 17:01:01 瀏覽:703
安卓怎麼設置微信拍一拍 發布:2024-04-20 16:44:48 瀏覽:568
三星3熱點密碼怎麼設置 發布:2024-04-20 16:30:52 瀏覽:578
用keil編譯顯示警告warn 發布:2024-04-20 16:27:09 瀏覽:893
訪問在哪兒 發布:2024-04-20 16:20:42 瀏覽:200
安卓手機有什麼可以把聲音改成電音的軟體 發布:2024-04-20 16:19:40 瀏覽:563