① 請舉出日常生活中兩個例子來描述計算機演算法
演算法就是解決問題的方法
比如你要喝茶就要先找到茶葉,燒一壺開水,然後將茶葉放到杯子里,然後將開水倒入杯中,然後等一段時間
再比如你要從a地到b地,中間可能有多種汽車換乘方案,是選速度最快的,還是選最省錢的,
還是平衡的,制定換乘方案就是演算法。
② c語言中什麼是演算法有哪些描述演算法的例子
1、有窮性(有限性)。任何一種提出的解題方法都是在有限的操作步驟內可以完成的。
如果在有限的操作步驟內完不成,得不到結果,這樣的演算法將無限的執行下去,永遠不會停止。除非手動停止。例如操作系統就不具有有窮性,它可以一直運行。
2、一個演算法應該具有以下七個重要的特徵:
1)有窮性(finiteness)
演算法的有窮性是指演算法必須能在執行有限個步驟之後終止
2)確切性(definiteness)
演算法的每一步驟必須有確切的定義;
3)輸入項(input)
一個演算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指演算法本身定出了初始條件;
4)輸出項(output)
一個演算法有一個或多個輸出,以反映對輸入數據加工後的結果.沒有輸出的演算法是毫無意義的;
5)可行性(effectiveness)
演算法中執行的任何計算步都是可以被分解為基本的可執行的操作步,即每個計算步都可以在有限時間內完成;
6)
高效性(high
efficiency)
執行速度快,佔用資源少;
7)
健壯性(robustness)
健壯性又稱魯棒性,是指軟體對於規范要求以外的輸入情況的處理能力。所謂健壯的系統是指對於規范要求以外的輸入能夠判斷出這個輸入不符合規范要求,並能有合理的處理方式。
③ 問:什麼是演算法試從日常生活中找3個例子,描述它們的演算法。(C語言)
所謂的演算法,用實物來說就是做事的步驟。開車,首先要打開車門,駕駛員坐好,插上車鑰匙,發動汽車。開門,要先拿出鑰匙,插入鑰匙孔,開門。等等舉不勝舉
④ 什麼叫"計算機演算法"請舉出5個計算機演算法的例子.
准確的定義還是建議你上書上找,至於演算法的例子,我大概說說好了,比如從1循環到指定的數(數的遍歷),輾轉相除法算最大公約數,從1加到100用的迭代演算法,求某數的階乘用的遞歸演算法,求平方根的牛頓迭代法。。。。
總之就是能解決一類問題的固定的計算方法就是演算法。
⑤ c語言問題: 什麼是演算法試從日常生活中找3個例子,描述它們的演算法。 詳細點,謝謝!
c語言中的演算法是指:一系列解決問題的清晰指令,用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。通俗說就是解決問題的方法和步驟。
描述演算法的例子:
問題:從上海去到北京。
其中的演算法:做汽車、做飛機、或者徒步。
問題:喝茶。
其中的演算法:先找到茶葉,再燒一壺開水,然後將茶葉放到杯子里,將開水倒入杯中,等茶葉泡好。
問題:開車。
其中的演算法:首先要打開車門,駕駛員坐好,插上車鑰匙,發動汽車。
⑥ 二進制演算法例子
很多啊,最簡單的就是開、關了,凡是有兩個相反、相對狀態的就可以抽象為0和1了。
講二進制應該類比十進制來講。如10進制中,過了9就要進位了,2進制中,過了1就要進位了,高位就加1。和也是,如10進制的235,實際上是這樣算出來的:
235 = 2* 10^2 + 3* 10^1 + 5*10^0 = 235
2進制也是如此:
101 = 1* 2^2 + 0*2^1 + 1*2^0 = 5
都是以這個進制的基數,進行每位的求和後得出。只要腦子還靈光的,都應該可以理解。
⑦ buddy演算法的例子
buddy演算法將所有空閑頁框分組為10個塊鏈表,每個塊鏈表的每個塊元素分別包含1,2,4,8,16,32,64,128,256,512個連續的頁框,每個塊的第一個頁框的物理地址是該塊大小的整數倍。如,大小為16個頁框的塊,其起始地址是16*2^12(一個頁框的大小為4k,16個頁框的大小為16*4K,1k=1024=2的10次方,4k=2的12次方)的倍數。
例,假設要請求一個128個頁框的塊,演算法先檢查128個頁框的鏈表是否有空閑塊,如果沒有則查256個頁框的鏈表,有則將256個頁框的塊分裂兩份,一份使用,一份插入128個頁框的鏈表。如果還沒有,就查512個頁框的鏈表,有的話就分裂為128,128,256,一個128使用,剩餘兩個插入對應鏈表。如果在512還沒查到,則返回出錯信號。
⑧ 什麼是演算法,都什麼,舉個例子,謝謝
根據我個人的理解:
演算法就是解決問題的具體的方法和步驟,所以具有以下性質:
1、有窮性: 一個演算法必須保證執行有限步之後結束(如果步驟無限,問題就無法解決)
2、確切性:步驟必須明確,說清楚做什麼。
3、輸入:即解決問題前我們所掌握的條件。
4、輸出:輸出即我們需要得到的答案。
5、可行性:邏輯不能錯誤,步驟必須有限,必須得到結果。
演算法通俗的講:就是解決問題的方法和步驟。在計算機發明之前便已經存在。只不過在計算機發明後,其應用變得更為廣泛。通過簡單的演算法,利用電腦的計算速度,可以讓問題變得簡單。
譬如:計算 1×2×3×4。。。。×999999999×1000000000
如果人為計算,可想而知,即使你用N卡車的紙張都很難計算出來,即使算出來了,也很難保證其准確性。
如果用VB演算法:
dim a as integer
a=1
For i =1 to 1000000000
a=a*i
next i
input a
就這樣,簡單的演算法,通過計算機強大的計算能力,問題就解決了。
關於這段演算法的解釋:i每乘一次,其數值都會增大1,一直乘到1000000000,這樣,就將從1到1000000000的每個數都乘了。而且每乘一次,就將結束賦給a,這樣,a就代表了前面的相乘的所有結果,一直乘到1000000000。最後得到的a,就是我們想要的。
〓以下是網路復制過來的,如果你有足夠耐心,可以參考一下。
演算法(Algorithm)是一系列解決問題的清晰指令,也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間復雜度與時間復雜度來衡量。
演算法可以理解為有基本運算及規定的運算順序所構成的完整的解題步驟。或者看成按照要求設計好的有限的確切的計算序列,並且這樣的步驟和序列可以解決一類問題。
一個演算法應該具有以下五個重要的特徵:
1、有窮性: 一個演算法必須保證執行有限步之後結束;
2、確切性: 演算法的每一步驟必須有確切的定義;
3、輸入:一個演算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指演算法本身定除了初始條件;
4、輸出:一個演算法有一個或多個輸出,以反映對輸入數據加工後的結果。沒有輸出的演算法是毫無意義的;
5、可行性: 演算法原則上能夠精確地運行,而且人們用筆和紙做有限次運算後即可完成。
計算機科學家尼克勞斯-沃思曾著過一本著名的書《數據結構十演算法= 程序》,可見演算法在計算機科學界與計算機應用界的地位。
[編輯本段]演算法的復雜度
同一問題可用不同演算法解決,而一個演算法的質量優劣將影響到演算法乃至程序的效率。演算法分析的目的在於選擇合適演算法和改進演算法。一個演算法的評價主要從時間復雜度和空間復雜度來考慮。
時間復雜度
演算法的時間復雜度是指演算法需要消耗的時間資源。一般來說,計算機演算法是問題規模n 的函數f(n),演算法的時間復雜度也因此記做
T(n)=Ο(f(n))
因此,問題的規模n 越大,演算法執行的時間的增長率與f(n) 的增長率正相關,稱作漸進時間復雜度(Asymptotic Time Complexity)。
空間復雜度
演算法的空間復雜度是指演算法需要消耗的空間資源。其計算和表示方法與時間復雜度類似,一般都用復雜度的漸近性來表示。同時間復雜度相比,空間復雜度的分析要簡單得多。
詳見網路詞條"演算法復雜度"
[編輯本段]演算法設計與分析的基本方法
1.遞推法
遞推法是利用問題本身所具有的一種遞推關系求問題解的一種方法。它把問題分成若干步,找出相鄰幾步的關系,從而達到目的,此方法稱為遞推法。
2.遞歸
遞歸指的是一個過程:函數不斷引用自身,直到引用的對象已知
3.窮舉搜索法
窮舉搜索法是對可能是解的眾多候選解按某種順序進行逐一枚舉和檢驗,並從眾找出那些符合要求的候選解作為問題的解。
4.貪婪法
貪婪法是一種不追求最優解,只希望得到較為滿意解的方法。貪婪法一般可以快速得到滿意的解,因為它省去了為找最優解要窮盡所有可能而必須耗費的大量時間。貪婪法常以當前情況為基礎作最優選擇,而不考慮各種可能的整體情況,所以貪婪法不要回溯。
5.分治法
把一個復雜的問題分成兩個或更多的相同或相似的子問題,再把子問題分成更小的子問題……直到最後子問題可以簡單的直接求解,原問題的解即子問題的解的合並。
6.動態規劃法
動態規劃是一種在數學和計算機科學中使用的,用於求解包含重疊子問題的最優化問題的方法。其基本思想是,將原問題分解為相似的子問題,在求解的過程中通過子問題的解求出原問題的解。動態規劃的思想是多種演算法的基礎,被廣泛應用於計算機科學和工程領域。
7.迭代法
迭代是數值分析中通過從一個初始估計出發尋找一系列近似解來解決問題(一般是解方程或者方程組)的過程,為實現這一過程所使用的方法統稱為迭代法。
[編輯本段]演算法分類
演算法可大致分為基本演算法、數據結構的演算法、數論與代數演算法、計算幾何的演算法、圖論的演算法、動態規劃以及數值分析、加密演算法、排序演算法、檢索演算法、隨機化演算法、並行演算法。
[編輯本段]舉例
經典的演算法有很多,如:"歐幾里德演算法"。
[編輯本段]演算法經典專著
目前市面上有許多論述演算法的書籍,其中最著名的便是《計算機程序設計藝術》(The Art Of Computer Programming) 以及《演算法導論》(Introction To Algorithms)。
[編輯本段]演算法的歷史
「演算法」即演演算法的大陸中文名稱出自《周髀算經》;而英文名稱Algorithm 來自於9世紀波斯數學家al-Khwarizmi,因為al-Khwarizmi在數學上提出了演算法這個概念。「演算法」原為"algorism",意思是阿拉伯數字的運演算法則,在18世紀演變為"algorithm"。歐幾里得演算法被人們認為是史上第一個演算法。 第一次編寫程序是Ada Byron於1842年為巴貝奇分析機編寫求解解伯努利方程的程序,因此Ada Byron被大多數人認為是世界上第一位程序員。因為查爾斯·巴貝奇(Charles Babbage)未能完成他的巴貝奇分析機,這個演算法未能在巴貝奇分析機上執行。 因為"well-defined procere"缺少數學上精確的定義,19世紀和20世紀早期的數學家、邏輯學家在定義演算法上出現了困難。20世紀的英國數學家圖靈提出了著名的圖靈論題,並提出一種假想的計算機的抽象模型,這個模型被稱為圖靈機。圖靈機的出現解決了演算法定義的難題,圖靈的思想對演算法的發展起到了重要作用的。
⑨ 問:什麼是演算法試蔥日常生活中找3個例子,描述它們的演算法。
解決的思路和方法就是演算法。
比如,
1.在網路搜索一下問題,網路引擎會通過一系列演算法幫你找到和你提的問題相互匹配的問題。
2.無線通信的時候也是需要演算法的,這樣才能正確的恢復原樣。
3.計算器也需要用演算法,演算法能使人更有效率或更方便的解決問題。
⑩ 什麼是演算法試從日常生活中找3個例子,描述它們的演算法
演算法就是解決問題的方法比如你要喝茶就要先找到茶葉,燒一壺開水,然後將茶葉放到杯子里,然後將開水倒入杯中,然後等一段時間再比如你要從a地到b地,中間可能有多種汽車換乘方案,是選速度最快的,還是選最省錢的,還是平衡的,制定換乘方案就是演算法。