1樓:是嘛
描述演算法的方法有多種,常用的有自然語言、結構化流程圖、偽**和pad圖等,其中最普遍的是流程圖。
分類:演算法可大致分為基本演算法、資料結構的演算法、數論與代數演算法、計算幾何的演算法、圖論的演算法、動態規劃以及數值分析、加密演算法、排序演算法、檢索演算法、隨機化演算法、並行演算法,厄米變形模型,隨機森林演算法。
特徵:有窮性,演算法的有窮性是指演算法必須能在執行有限個步驟之後終止;確切性,演算法的每一步驟必須有確切的定義;輸入項:一個演算法有0個或多個輸入,;輸出項;可行性,演算法中執行的任何計算步驟都是可以被分解為基本的可執行的操作步,即每個計算步都可以在有限時間內完成。
擴充套件資料
演算法歷史:
“演算法”即演演算法的大陸中文名稱出自《周髀算經》;而英文名稱algorithm 來自於9世紀波斯數學家al-khwarizmi,al-khwarizmi在數學上提出了演算法這個概念。“演算法”,意思是阿拉伯數字的運演算法則,在18世紀演變為"algorithm"。
因為巴貝奇未能完成他的巴貝奇分析機,這個演算法未能在巴貝奇分析機上執行。 20世紀的英國數學家圖靈提出了著名的圖靈論題,並提出一種假想的計算機的抽象模型,這個模型被稱為圖靈機。圖靈機的出現解決了演算法定義的難題,圖靈的思想對演算法的發展起到了重要作用。
2樓:倒黴熊
演算法(algorithm)是指解題方****而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規範的輸入,在有限時間內獲得所要求的輸出。
一個演算法應該具有以下七個重要的特徵:
1、有窮性(finiteness)
演算法的有窮性是指演算法必須能在執行有限個步驟之後終止
2、確切性(definiteness)
演算法的每一步驟必須有確切的定義;
3、輸入項(input)
一個演算法有0個或多個輸入,以刻畫運算物件的初始情況,所謂0個輸入是指演算法本身定出了初始條件;
4、輸出項(output)
一個演算法有一個或多個輸出,以反映對輸入資料加工後的結果。沒有輸出的演算法是毫無意義的;
5、可行性(effectiveness)
演算法中執行的任何計算步都是可以被分解為基本的可執行的操作步,即每個計算步都可以在有限時間內完成;(也稱之為有效性)6、 高效性(high efficiency)
執行速度快,佔用資源少;
7、 健壯性(robustness)
對資料響應正確。
3樓:安徽新華電腦專修學院
計算機演算法是以一步接一步的方式來詳細描述計算機如何將輸入轉化為所要求的輸出的過程,或者說,演算法是對計算機上執行的計算過程的具體描述。
演算法及其特性有哪些?
4樓:北京理工大學出版社
1.演算法的重要特性(1)有窮性:一個演算法必須在執行有窮步驟之後正常結束,而不能形成無窮迴圈。
(2)確定性:演算法中的每一條指令必須有確切的含義,不能產生多義性。
(2)可行性:演算法中的每一條指令必須是切實可執行的,即原則上可以通過已經實現的基本運算執行有限次來實現。
(4)輸入:一個演算法應該有零個或多個輸入。
(5)輸出:一個演算法應該有一個或多個輸出,這些輸出是同輸入有特定關係的量。
2.演算法描述的方法(1)框圖描述:該方法使用流程圖或n-s圖來描述演算法。
(2)自然語言描述:該方法採用自然語言,同時新增高階程式設計語言如while、for和if等基本控制語句來描述演算法。這類描述方法自然、簡潔,但缺乏嚴謹性和結構性。
(2)類語言描述:這是介於程式設計語言和自然語言之間演算法描述形式,其特徵是突出演算法設計的主體部分而有意忽略某些過於嚴格的語法細節,如類c或c++的偽語言。這種演算法不能直接在計算機上執行,但專業設計人員經常使用它來描述演算法,它具有容易編寫、閱讀和格式統一的特點。
(4)程式設計語言描述:採用某種高階程式設計語言(如c或c++)來描述。這是可以在計算機上執行並獲得結果的演算法描述。
本課程將採用偽c語言進行演算法描述。
2.演算法與程式的關係演算法的含義與程式十分相似,但二者是有區別的。演算法和程式都是用來表達解決問題的邏輯步驟;演算法是對解決問題方法的具體描述,程式是演算法在計算機中的具體實現;一個程式不一定滿足有窮性(死迴圈),而演算法一定滿足有窮性;程式中的指令必須是機器可執行的,而演算法中的指令則無此限制;一個演算法若用計算機語言來書寫,則它就可以是一個程式。
因此,程式是演算法,但演算法不一定是程式。4.演算法設計要求在演算法設計中,對同一個問題可以設計出不同的求解演算法。
如何評價這些演算法的優劣,從而為演算法設計和選擇提供可靠的依據?通常可從以下四個方面評價演算法的質量:
(1)正確性:演算法應該能夠正確地執行預先規定的功能,並達到所期望的效能要求。
(2)可讀性:演算法應該好讀,以有利於讀者對程式的理解,便於除錯和修改。
(2)健壯性:演算法應具有容錯處理。當輸入非法資料時,演算法應對其作出反應,而不是產生莫名其妙的輸出結果。
(4)效率與低儲存量需求:效率指的是演算法執行的時間。對於同一個問題,如果有多種演算法可以求解,執行時間短的演算法效率高。
演算法儲存量指的是演算法執行過程中所需要的最大儲存空間。高效率和低儲存量這兩者與問題的規模有關。
什麼是演算法?演算法的概念?演算法的特點都有哪些?
5樓:小愁
1、演算法概念:
在數學上,現代意義上的“演算法”通常是指可以用計算機來解決的某一類回問題答是程式或步驟,這些程式或步驟必須是明確和有效的,而且能夠在有限步之內完成.
2. 演算法的特點:
(1)有限性:一個演算法的步驟序列是有限的,必須在有限操作之後停止,不能是無限的.
(2)確定性:演算法中的每一步應該是確定的並且能有效地執行且得到確定的結果,而不應當是模稜兩可.
(3)順序性與正確性:演算法從初始步驟開始,分為若干明確的步驟,每一個步驟只能有一個確定的後繼步驟,前一步是後一步的前提,只有執行完前一步才能進行下一步,並且每一步都準確無誤,才能完成問題.
(4)不唯一性:求解某一個問題的解法不一定是唯一的,對於一個問題可以有不同的演算法.
(5)普遍性:很多具體的問題,都可以設計合理的演算法去解決,如心算、計算器計算都要經過有限、事先設計好的步驟加以解決.
演算法的五大特性是什麼
6樓:鬱悶的太陽
演算法的五大特徵如下:
有窮性(finiteness)。演算法的有窮性是指演算法必須能在執行有限個步驟之後終止;
確切性(definiteness)。演算法的每一步驟必須有確切的定義;
輸入項(input)。一個演算法有0個或多個輸入,以刻畫運算物件的初始情況,所謂0個輸入是指演算法本身定出了初始條件;
輸出項(output)。一個演算法有一個或多個輸出,以反映對輸入資料加工後的結果。沒有輸出的演算法是毫無意義的;
可行性(effectiveness)。演算法中執行的任何計算步驟都是可以被分解為基本的可執行的操作步,即每個計算步都可以在有限時間內完成(也稱之為有效性)。
演算法(algorithm)是指解題方****而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規範的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。
不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間複雜度與時間複雜度來衡量。
7樓:安徽新華電腦專修學院
演算法(algorithm)是指解題方****而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。
8樓:哥們兒會_臭臭
一個演算法應該具有以下五個重要的特徵:
1、有窮性: 一個演算法必須保證執行有限步之後結束;
2、確切性: 演算法的每一步驟必須有確切的定義;
3、輸入:一個演算法有0個或多個輸入,以刻畫運算物件的初始情況,所謂0個輸入是指演算法本身定除了初始條件;
4、輸出:一個演算法有一個或多個輸出,以反映對輸入資料加工後的結果.沒有輸出的演算法是毫無意義的;
5、可行性: 演算法原則上能夠精確地執行,而且人們用筆和紙做有限次運算後即可完成.
9樓:愛你凡凡麼麼噠
輸入:在演算法中可以有零個或者多個輸入。
輸出:在演算法中至少有一個或者多個輸出。
有窮行:在執行有限的步驟之後,自動結束不會出現無限迴圈並且每一個步驟在可接受的時間內完成。
確定性:演算法的每一個步驟都具有確定的含義,不會出現二義性。
可行性:演算法的每一步都必須是可行的,也就是說,每一步都能夠通過執行有限的次數完成。
演算法:是指解題方****而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規範的輸入,在有限時間內獲得所要求的輸出。
如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間複雜度與時間複雜度來衡量。
演算法中的指令描述的是一個計算,當其執行時能從一個初始狀態和(可能為空的)初始輸入開始,經過一系列有限而清晰定義的狀態,最終產生輸出並停止於一個終態。一個狀態到另一個狀態的轉移不一定是確定的。隨機化演算法在內的一些演算法,包含了一些隨機輸入。
參考資料
csdn部落格:
10樓:匿名使用者
1/4 分步閱讀
1、演算法的五個基本特性分別是:輸入、輸出、有窮性、確定性和可行性。
輸入/輸出:演算法具有零個或多個輸入,演算法至少具有一個或多個輸出。
2/42、有窮性:是指演算法在執行有限的步驟後,自動結束而不會出現無限迴圈,並且每個步驟在可接受的時間內完成。
3/43、確定性:演算法的每個步驟都有明確的含義,不會出現二義性。
4/44、可行性:演算法的每一步都必須是可行的,也就是說,每一步都通過執行有限次數完成。
11樓:匿名使用者
1.又窮性,演算法是執行時候執行的有窮性,程式只是一段實現演算法的**2.確定性,演算法對於特定的輸入有特定的輸出,程式提供了確定演算法結果的平臺
3.可行性,演算法需要考慮設計的可能,程式則具體是實現演算法上的設計4.輸入,演算法有輸入,演算法的輸入依靠程式的平臺提供5.輸出,演算法的輸出也靠**的支援
什麼是素數演算法,求素數的演算法
難得當歌對酒時 應當是素數判定演算法,也即判斷一個數是不是素數。常見的演算法有 1,暴力法,用2 sqrt n 之間的所有整數依次試除n,這種方法時間開銷很大。2,篩法。這種方法空間開銷很大。3,rabin miller演算法,這種方法在一定情況下會誤判。4,aks 演算法,多項式時間內判定 昔俊能...
er圖可以描述演算法嗎,er圖的作用是什麼
不可以描述演算法,首先他基本是常用在資料庫中,因此,描述的是實體之間的關係,至於描述演算法的可以用程式流程圖,偽 等等方式進行描述。e r圖也稱實體 聯絡圖 entity relationship diagram 提供了表示實體型別 屬性和聯絡的方法,用來描述現實世界的概念模型。它是描述現實世界關係...
導數的運演算法則,導數運演算法則
運演算法則是 加 減 法則,f x g x f x g x 乘法法則,f x g x f x g x g x f x 除法法則,f x g x f x g x g x f x g x 2。若某函式在某一點導數存在,則稱其在這一點可導,否則稱為不可導。導數也叫導函式值,又名微商,是微積分中的重要基礎概...