對於演算法
『壹』 對演算法描述正確的是( )
答案C
分析:用演算法的定義逐一來分析判斷各選項的正確與否.
解答:演算法的特點:有窮性,確定性,順序性與正確性,不唯一性,普遍性
演算法可以用自然語言、圖形語言,程序語言來表示,故A、B不對
同一問題可以用不同的演算法來描述,但結果一定相同,故D不對.C對.
故應選C.
點評:考查演算法的定義以及演算法的表示形式,演算法的特徵,考查很詳細.
打字不易,如滿意,望採納。
『貳』 關於演算法
抽象性可以說是某種演算法的特徵之一
唯一性,用來描述某種演算法,嚴格來說是不科學的。科學是不斷向前發展的,對於解決某一類問題的演算法,有時在目前看來可能是唯一的,但並不意味著不會有第二種演算法。
當然,也許你所說的演算法或許還有其他含義,那就另當別論了。
比如,數學中的某些證明題,你可以根據以前學過的知識直接推導出結論,也可以使用數學歸納法,那麼,這里的數學歸納法,如果就是你所說的那種演算法的話,可以說這種演算法是一種特殊的演算法。但是要是加上唯一,總覺得別扭。
『叄』 對於演算法的時間復雜度為f(n)這個問題的規模是什麼意思
問題規模:就是指你演算法中所涉及的局部來看數據量大的大小。如:求100以內還是1000以內的素數。演算法的執行速度,表現為演算法的時間復雜度。其中時間復雜度還與演算法的選用策略、書寫程序的語言、編譯所產生的機器代碼質量、機器指令執行速度有關。如: for(i=1;i<=n;++i) for(j=1;j<=n;++j){ c[i][j]=0; for(k=1;k<=n;++k) c[i][j]+=a[j][k]*b[k][j]; }T(n)=O(n^3);一般情況下,演算法中基本操作重復執行的次數是問題規模n的某個函數f(n),T(n)=O(f(n))稱為漸進時間復雜度,也稱時間復雜度。
『肆』 下列關於演算法的說法中,正確的是() A.演算法是某個問題的解決過程 B.演算法可以無限不停地操作
由演算法的概念可知: 演算法是某個問題的解決方法,而不是某個問題的解決過程,故A不正確; 演算法是在有限個步驟內解決問題,不可以無限不停地操作下去,故B不正確; 演算法的每一步操作都是明確的,演算法執行後的結果是確定的,故C不正確; 解決某類問題的演算法可能有多個,演算法是不唯一的,故D正確. 故選D. |
『伍』 下列關於演算法的說法中,正確的是
正確的說法是 D. 演算法是解決問題過程所需的有限步驟。
演算法的性質規定了演算法必須滿足以下幾點:
1 具體(能翻譯成機器指令)
2 明確(無歧義)
3 正確(對任何輸入能給出正確的結果)
4 步數有限(任何情況下總能停機,不會陷入死循環)
『陸』 什麼是演算法
演算法(Algorithm)是指解題方案的准確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間復雜度與時間復雜度來衡量。
演算法中的指令描述的是一個計算,當其運行時能從一個初始狀態和(可能為空的)初始輸入開始,經過一系列有限而清晰定義的狀態,最終產生輸出並停止於一個終態。一個狀態到另一個狀態的轉移不一定是確定的。隨機化演算法在內的一些演算法,包含了一些隨機輸入。
形式化演算法的概念部分源自嘗試解決希爾伯特提出的判定問題,並在其後嘗試定義有效計算性或者有效方法中成形。這些嘗試包括庫爾特·哥德爾、Jacques Herbrand和斯蒂芬·科爾·克萊尼分別於1930年、1934年和1935年提出的遞歸函數,阿隆佐·邱奇於1936年提出的λ演算,1936年Emil Leon Post的Formulation 1和艾倫·圖靈1937年提出的圖靈機。即使在當前,依然常有直覺想法難以定義為形式化演算法的情況。
『柒』 一個演算法的評價主要從哪些方面來考慮
一個演算法的評價主要從以下幾個方面來考慮:
1、時間復雜度
演算法的時間復雜度是指執行演算法所需要的計算工作量。一般來說,計算機演算法是問題規模n 的函數f(n),演算法的時間復雜度也因此記做。
T(n)=Ο(f(n))
因此,問題的規模n 越大,演算法執行的時間的增長率與f(n) 的增長率正相關,稱作漸進時間復雜度(Asymptotic Time Complexity)。
2、空間復雜度
演算法的空間復雜度是指演算法需要消耗的內存空間。其計算和表示方法與時間復雜度類似,一般都用復雜度的漸近性來表示。同時間復雜度相比,空間復雜度的分析要簡單得多。
3、正確性
演算法的正確性是評價一個演算法優劣的最重要的標准。
4、可讀性
演算法的可讀性是指一個演算法可供人們閱讀的容易程度。
5、健壯性
健壯性是指一個演算法對不合理數據輸入的反應能力和處理能力,也稱為容錯性。
(7)對於演算法擴展閱讀:
演算法可大致分為基本演算法、數據結構的演算法、數論與代數演算法、計算幾何的演算法、圖論的演算法、動態規劃以及數值分析、加密演算法、排序演算法、檢索演算法、隨機化演算法、並行演算法,厄米變形模型,隨機森林演算法。
演算法可以宏泛的分為三類:
一、有限的,確定性演算法 這類演算法在有限的一段時間內終止。他們可能要花很長時間來執行指定的任務,但仍將在一定的時間內終止。這類演算法得出的結果常取決於輸入值。
二、有限的,非確定演算法 這類演算法在有限的時間內終止。然而,對於一個(或一些)給定的數值,演算法的結果並不是唯一的或確定的。
三、無限的演算法 是那些由於沒有定義終止定義條件,或定義的條件無法由輸入的數據滿足而不終止運行的演算法。通常,無限演算法的產生是由於未能確定的定義終止條件。
『捌』 演算法有哪些分類
演算法分類編輯演算法可大致分為:
基本演算法、數據結構的演算法、數論與代數演算法、計算幾何的演算法、圖論的演算法、動態規劃以及數值分析、加密演算法、排序演算法、檢索演算法、隨機化演算法、並行演算法,厄米變形模型,隨機森林演算法。
『玖』 演算法的基本特徵是
演算法
3分鍾了解今日頭條演算法原理(科普版)
02:43
什麼是演算法
04:28
概述
歷史發展
演算法分類
演算法特徵
演算法要素
演算法評定
目錄
1摘要
2基本信息
3概述
4歷史發展
5演算法分類
6演算法特徵
7演算法要素
數據的運算和操作
演算法的控制結構
8演算法評定
9描述方式
10史料記載
11基本方法
12參考資料
演算法是指解題方案的准確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制;它是求解問題類的、機械的、統一的方法,常用於計算、數據處理(英語:Data processing)和自動推理。可以理解為有基本運算及規定的運算順序所構成的完整的解題步驟。或者看成按照要求設計好的有限的確切的計算序列,並且這樣的步驟和序列可以解決一類問題。
演算法中的指令描述的是一個計算,當其運行時能從一個初始狀態和(可能為空的)初始輸入開始,經過一系列有限而清晰定義的狀態,最終產生輸出並停止於一個終態。一個狀態到另一個狀態的轉移不一定是確定的。隨機化演算法在內的一些演算法,包含了一些隨機輸入。
基本信息
中文名
演算法
外文名
Algorithm
拼音
suanfa
出處
數學 計算機
定義
是指解題方案的准確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制
展開全部
概述
求解問題類的、機械的、統一的方法,它由有限多個步驟組成,對於問題類中的每個給定的具體問題,機械地執行這些步驟就可以得到問題的解答。演算法的這種特性,使得計算不僅可以由人,而且可以由計算機來完成。用計算機解決問題的過程可以分成三個階段:分析問題、設計演算法和實現演算法。[1]
歷史發展
中國古代的籌算口決與珠算口決及其執行規則就是演算法的雛形,這里,所解決的問題類是算術運算。古希臘數學家歐幾里得在公元前3世紀就提出了一個演算法,來尋求兩個正整數的最大公約數,這就是有名的歐幾里得演算法,亦稱輾轉相除法。中國早已有「算術「、「演算法」等詞彙,但是它們的含義是指當時的全部數學知識和計算技能,與現代演算法的含義不盡相同。英文algorithm(演算法)一詞也經歷了一個演變過程,最初的拼法為algorism或algoritmi,原意為用阿拉伯數字進行計算的過程。這個詞源於公元 9世紀波斯數字家阿爾·花拉子米的名字的最後一部分。[1]
在古代,計算通常是指數值計算。現代計算已經遠遠地突破了數值計算的范圍,包括大量的非數值計算,例如檢索、表格處理、判斷、決策、形式邏輯演繹等。
在20世紀以前,人們普遍地認為,所有的問題類都是有演算法的。20世紀初,數字家們發現有的問題類是不存在演算法的,遂開始進行能行性研究。在這一研究中,現代演算法的概念逐步明確起來。30年代,數字家們提出了遞歸函數、圖靈機等計算模型,並提出了丘奇-圖靈論題(見可計算性理論),這才有可能把演算法概念形式化。按照丘奇-圖靈論題,任意一個演算法都可以用一個圖靈機來實現,反之,任意一個圖靈機都表示一個演算法。
按照上述理解,演算法是由有限多個步驟組成的,它有下述兩個基本特徵:每個步驟都明確地規定要執行何種操作;每個步驟都可以被人或機器在有限的時間內完成。人們對於演算法還有另一種不同的理解,它要求演算法除了上述兩個基本特徵外,還要具有第三個基本特徵:雖然有些步驟可能被反復執行多次,但是在執行有限多次之後,就一定能夠得到問題的解答。也就是說,一個處處停機(即對任意輸入都停機)的圖靈機才表示一個演算法,而每個演算法都可以被一個處處停機的圖靈機來實現[1]
演算法分類
演算法可大致分為基本演算法、數據結構的演算法、數論與代數演算法、計算幾何的演算法、圖論的演算法、動態規劃以及數值分析、加密演算法、排序演算法、檢索演算法、隨機化演算法、並行演算法。[1]
演算法可以宏泛的分為三類:
有限的,確定性演算法 這類演算法在有限的一段時間內終止。他們可能要花很長時間來執行指定的任務,但仍將在一定的時間內終止。這類演算法得出的結果常取決於輸入值。
有限的,非確定演算法 這類演算法在有限的時間內終止。然而,對於一個(或一些)給定的數值,演算法的結果並不是唯一的或確定的。
無限的演算法 是那些由於沒有定義終止定義條件,或定義的條件無法由輸入的數據滿足而不終止運行的演算法。通常,無限演算法的產生是由於未能確定的定義終止條件。[1]
演算法特徵
1、輸入項:一個演算法有零個或多個輸入,以刻畫運算對象的初始情況。例如,在歐幾里得演算法中,有兩個輸入,即m和n。[1]
2、確定性:演算法的每一個步驟必須要確切地定義。即演算法中所有有待執行的動作必須嚴格而不含混地進行規定,不能有歧義性。例如,歐幾里得演算法中,步驟1中明確規定「以m除以n,而不能有類似以m除n以或n除以m這類有兩種可能做法的規定。
3、有窮性:一個演算法在執行有窮步滯後必須結束。也就是說,一個演算法,它所包含的計算步驟是有限的。例如,在歐幾里得演算法中,m和n均為正整數,在步驟1之後,r必小於n,若r不等於0,下一次進行步驟1時,n的值已經減小,而正整數的遞降序列最後必然要終止。因此,無論給定m和n的原始值有多大,步驟1的執行都是有窮次。
4、輸出:演算法有一個或多個的輸出,即與輸入有某個特定關系的量,簡單地說就是演算法的最終結果。例如,在歐幾里得演算法中只有一個輸出,即步驟2中的n。
5、能行性:演算法中有待執行的運算和操作必須是相當基本的,換言之,他們都是能夠精確地進行的,演算法執行者甚至不需要掌握演算法的含義即可根據該演算法的每一步驟要求進行操作,並最終得出正確的結果。[1]