算法可以無限循環(huán)嗎 一個算法它所包含的步驟是無限的對不對?
一個算法它所包含的步驟是無限的對不對?時間復(fù)雜性。算法中包含的簡單運算的執(zhí)行次數(shù)稱為算法的時間復(fù)雜度算法是解決問題的步驟;程序是算法的代碼實現(xiàn);算法依賴程序來完成功能;程序需要算法作為靈魂程序是結(jié)果,
一個算法它所包含的步驟是無限的對不對?
時間復(fù)雜性。算法中包含的簡單運算的執(zhí)行次數(shù)稱為算法的時間復(fù)雜度
算法是解決問題的步驟;程序是算法的代碼實現(xiàn);算法依賴程序來完成功能;程序需要算法作為靈魂
程序是結(jié)果,算法是手段(寫一個好程序所用的操作方法)。還寫了一個函數(shù)的程序,采用不同的算法可以使程序體積大,效率差。所以算法是編程的本質(zhì)。
算法是程序設(shè)計的核心,算法的質(zhì)量在很大程度上決定了程序的效率。一個好的算法可以降低程序的時間復(fù)雜度和空間復(fù)雜度。首先選擇一個好的算法,然后用合適的數(shù)據(jù)結(jié)構(gòu),這樣程序的效率就會大大提高。
算法和程序是有限的指令序列,但程序是算法,算法不一定是程序。
(1)在語言描述中,程序必須用規(guī)定的編程語言編寫,算法非常任意;
(2)在執(zhí)行時間中,算法描述的步驟必須有限,程序可以無限期執(zhí)行。算法是對解決特定問題的步驟的描述。它是一個有限的指令序列。
算法應(yīng)具有以下五個重要特征:
1。有限性,這意味著算法必須能夠在執(zhí)行有限個步驟后終止;
2。確定性,這意味著算法的每一步都必須有一個精確的定義;
3。輸入,一個算法有0個或多個輸入來描述操作對象的初始情況,所謂“0輸入”是指算法本身確定的初始條件;
4。輸出。算法有一個或多個輸出,以反映處理輸入數(shù)據(jù)的結(jié)果。沒有輸出算法是沒有意義的;
5。有效性。算法中的任何計算步驟都可以分解為基本的可執(zhí)行操作步驟,即每個計算步驟都可以在有限的時間內(nèi)完成(也稱為有效性)。
算法和程序的區(qū)別是怎樣的?
首先,你需要理解無限在數(shù)學(xué)中的含義。
如果指定了圓的半徑,將確定圓的面積。也就是說,s=πr2。在這個面積計算公式中,有pi。我們都知道π是一個不尋常的數(shù)。它是無限的,不循環(huán)。也就是說,你永遠無法計算π,也就是說,你永遠無法用最先進的超級計算機計算最后一個π。這是π無窮大的起源,但同時π是有界的。
學(xué)生知道π在3.1415926和3.1415927之間。這一結(jié)論是我國古代杰出數(shù)學(xué)家祖沖之首先得出的。他使用劉輝創(chuàng)造的圓切割技術(shù)。內(nèi)、外正多邊形為下界,外正多邊形為上界。這樣,我們計算到12288個多邊形,最終得到了這個當(dāng)時極為精確的數(shù)字。
數(shù)學(xué)無窮大通常指發(fā)散。例如,調(diào)和級數(shù)的和是發(fā)散的。雖然看起來每個項都在逐漸減少,但是您指定了一個值,并且這個系列的總和將始終添加到該值上,盡管諧波系列的增加速度非常慢。
許多人不明白為什么圓的面積是確定的,但是計算圓面積的π可以是無限的非循環(huán)小數(shù)。這里沒有沖突嗎?
這里,π只是π的一個符號,它與字根2和字根3沒有區(qū)別。在正常的計算中,你可以保留根2和根3,那么為什么不能保留π呢?根2和π也是無限的非循環(huán)小數(shù)。
如果我們需要特定的計算值怎么辦?然后根據(jù)您的精度要求取數(shù)字。不用擔(dān)心這個。現(xiàn)在人類已經(jīng)把圓周率計算到31.4萬億個小數(shù)位。隨便拿,別擔(dān)心
!事實上,有人計算過,如果我們把整個太陽系作為一個圓來計算它的面積,在π的小數(shù)點后取35位有效數(shù)字,我們就可以把太陽系的面積精度控制在一個質(zhì)子的大小之內(nèi)。所以人們?nèi)找褂嬎鉷i,其實在實際中并沒有用到這么高的精度,主要目的是測試硬件的性能,另一個更重要的原因是測試一些算法的效率。
圓的面積和半徑絕對不會是無限的,那圓周率到底是不是有限的?
算法必須具有以下屬性:
(1)算法必須正確,即對于任何一組輸入,包括合理的輸入和不合理的輸入,它總能得到預(yù)期的輸出。如果一個算法只能對合理的輸入得到期望的輸出,而不能在異常情況下得到期望的輸出結(jié)果,那么它就是不正確的。
(2)算法必須由一系列特定的步驟組成,每個步驟都可以被計算機理解和執(zhí)行,而不是抽象和模糊的概念。
(3)每個步驟都有一個明確的執(zhí)行順序,即上一步在哪里,下一步是什么,必須明確無誤。
(4)無論算法多么復(fù)雜,都必須在有限步之后結(jié)束和終止,即算法的步數(shù)必須是有限的。在任何情況下,算法都不能陷入無限循環(huán)。