都說程式執行的效率跟演算法有關,究竟什麼是計算機的演算法呢?怎麼

2021-03-22 05:38:09 字數 5784 閱讀 7782

1樓:匿名使用者

演算法就是解決一個問題的方法。比如現在要從武漢去長春,選擇坐飛機,但是沒有直達的,可以在大連中轉也可以在北京中轉。這是你需要算**,**便宜的路線就是好的演算法。

計算機一樣,只是它節省的不是錢而是運算時間

2樓:匿名使用者

演算法,就是為了實現

一個功能寫的一個函式,cpp或者是dll,形式有很多,但是目的都是為了實現特定的功能,而且需要寫成演算法的功能,都是重用性比較高的,也就是說不僅僅是一個地方用,需要的地方,只要拿過來,呼叫介面函式就能實現其功能。其實,演算法和一般的**一樣,就是為了實現某種功能而寫的**,只是重用性的高低不同而已。使用方法就是在程式裡呼叫演算法的借介面函式。

3樓:匿名使用者

一個解決問題的方案吧,有好的有壞的

在計算機中演算法有什麼作用?

4樓:nice白羊貓

在計算機中演算法的作用:計算機中使用的其他技術離不開演算法的支撐,而且只有把演算法和其他技術有效的結合起來,才能使計算機解決問題的能力最大化,最後達到1+1>2的效果。

計算機演算法是以一步接一步的方式來詳細描述計算機如何將輸入轉化為所要求的輸出的過程,或者說,演算法是對計算機上執行的計算過程的具體描述。

計算機不能做到無限快,儲存也不是免費的,為了提高解決問題的效率,必須研究演算法,同時,解決同一個問題的各種不同演算法的效率常常相差非常大,這種效率上的差距影響往往比硬體和軟體方面的差距還要大。

5樓:匿名使用者

一個程式的核心在於演算法。比如說開啟一個軟體和執行一個軟體的速度在計算機硬體效能相同情況下,軟體的演算法起到了幾近決定性作用,所有的計算機軟體和硬體的程式設計都是需要演算法的,就算一個hello world程式雖然我們編時候沒有用到演算法但是在編譯他和執行再螢幕顯示的時候就是演算法了。演算法是計算機乃至自然界的核心,如果知道人腦的演算法,就可以製造出人工智慧的軟體。

6樓:匿名使用者

學過數學就知道哦

一個問題的答案不會憑空出現

就是通過「演算法」把他們就出來滴

想想老師交給你的那些演算法

都是經過歷史檢驗的最簡演算法,最有效地得到結果計算機的演算法也是相同的

只不過,有了更多的限制,需要更多的技巧,需要你而不是你的老師去優化當然,這是最神奇的部分了

餓,誰用誰知道

7樓:我愛思緒

演算法,其實就是解決方案,所有程式設計都是要解決一定的問題,所以演算法實際上就是程式設計的主題思路。

8樓:匿名使用者

剛學數學時,我們沒用多久就學會了+、-、*、/等運算規則,這和程式語言一樣,學完程式語言相當於我們學會了一種用軟體描述問題的工具,但我們怎麼解決這個問題呢? 這就要解決問題的方法,方法的好壞直接影響實現難易及開發效率,而演算法正是叫你一些常見的解決問題的方法,這和學懂數學後有了一種數學思想是一個道理。

9樓:匿名使用者

演算法對於計算機程式設計就好象圖紙設計對於建築一樣

謝謝採納

都說程式執行的效率跟演算法有關,究竟什麼是計算機的演算法呢?怎麼理解的?怎麼使用?

10樓:匿名使用者

11樓:匿名使用者

演算法演算法

顧名思義

就是計算的方法

比如2*2*2*2*2*2*2*2*2

你可以一個一個的乘

也可以先算2*2 = 4 (去了

2個2)

然後4*4=16(去了4個2)

然後16*16=256(去了8個2)

最後還剩下一個2

再就是256*2=512就可以了

這就是兩種演算法

給計算機算的話,第一種計算機要算8次乘法

第二種計算機只用算4次乘法

明顯第二種要快得多

這就是演算法

您懂了嗎?

假如是2^n的話,第一種演算法要算n次

第二種演算法只算log2(n)次

如果算一次要0.001秒的話(世界上第一臺計算機埃尼亞克的速度吧……)

那當n=100000000000的話

第一種計算方法要100000000秒的時間才能求出結果……也就是大概三年多……

第二種計算方法卻絕對連1秒都用不到

這就是演算法不同效率不同的一個簡單的例子

還有這個例子一點也不誇張

你學了演算法就知道了

特別是學了搜尋……

正學c語言,不明白程式和演算法有什麼區別?我理解的是演算法是解決問題的步驟,可是看看程式似乎也是如此啊

12樓:匿名使用者

有一句經典的話:程式=演算法+資料結構。演算法是解決問題的步驟,演算法是一種思想。

比如:計算1加到100的和,那麼(1)你可以從1開始一個一個的加,直到100;(2)(1+100)*50;這兩種解決問題的方法就是演算法。而這種描述計算機不能理解,因此,可以用c語言或其它語言把它寫出來,讓它可以在計算機上執行,這就是一個程式。

程式可以理解為對演算法的一種包裝,目的就是讓它可以在計算機上能執行。

13樓:匿名使用者

演算法是和語言無關的,是解決問題的形式化方法與步驟,而程式則涉及到了某種具體語言的實現,如c語言。演算法有自己的設計理論,而程式有自己的編寫技巧,演算法之於程式相當於靈魂之於肉體。比如你遇到一個問題,編碼前你必然去思考怎麼去做,因此在編碼前的思考都可以稱為演算法,編碼完的**則為程式。

14樓:匿名使用者

演算法只是程式中的一部分。演算法可以解決問題,但程式要比演算法複雜得多。你看著類似,或許這就是c語言的魅力之處吧!

演算法及其特性有哪些?

15樓:北京理工大學出版社

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)效率與低儲存量需求:效率指的是演算法執行的時間。對於同一個問題,如果有多種演算法可以求解,執行時間短的演算法效率高。

演算法儲存量指的是演算法執行過程中所需要的最大儲存空間。高效率和低儲存量這兩者與問題的規模有關。

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

16樓:東南西北寶貝

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

描述演算法的例子:

問題:從上海去到北京。

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

問題:喝茶。

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

問題:開車。

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

演算法的五個重要的特徵:有窮性(finiteness)、確切性(definiteness)、輸入項(input)、輸出項(output)、可行性(effectiveness)。

演算法的時間複雜度:演算法的時間複雜度是指執行演算法所需要的計算工作量。一般來說,計算機演算法是問題規模n 的函式f(n),演算法的時間複雜度也因此記做。

t(n)=ο(f(n))因此,問題的規模n 越大,演算法執行的時間的增長率與f(n) 的增長率正相關,稱作漸進時間複雜度(asymptotic time ***plexity)。

演算法的空間複雜度:演算法的空間複雜度是指演算法需要消耗的記憶體空間。其計算和表示方法與時間複雜度類似,一般都用複雜度的漸近性來表示。

同時間複雜度相比,空間複雜度的分析要簡單得多。可以從正確性、可讀性、健壯性(容錯性)來分析。

17樓:匿名使用者

演算法就是解決問題的方法

比如你要喝茶就要先找到茶葉,燒一壺開水,然後將茶葉放到杯子裡,然後將開水倒入杯中,然後等一段時間

再比如你要從a地到b地,中間可能有多種汽車換乘方案,是選速度最快的,還是選最省錢的,

還是平衡的,制定換乘方案就是演算法。

18樓:鈊若在夢就在

演算法可以理解為程式為產生這個結果使用的方法也可以理解為解決問題的辦法

要產生一個結果

可以通過很多種不同的方法來產生

同樣解決一個問題

也可以有很多種解決的辦法

這個產生結果或者解決問題的辦法就稱為演算法

不同的解決辦法就是不同的演算法

19樓:匿名使用者

演算法就是解決問題的辦法。。

比如排序演算法

就是 單純的排列順序咯

不同的演算法 執行的效率不同

20樓:匿名使用者

#include "stdio.h"

void main()

什麼是演算法?什麼是程式?這兩者之間有什麼關係?

21樓:匿名使用者

演算法和程式嘛。。。對過程化程式來說,有個沃思公式:演算法+資料結構=程式。

也就是說一個程式主要包含以下兩方面的資訊:1、對資料的描述。在程式中要指定用到哪些資料以及這些資料的型別和資料的組織形式。

這就是資料結構(data structure)。2、對操作的描述。即要求計算機進行操作的步驟,也就是演算法(algorithm)。

演算法當然要在有窮步後終止啊,不然計算機受得了嗎。。。演算法的特性就包含有窮這一條,而且有窮性是指在合理的範圍之內,你讓一個演算法持續幾千年,也不合常理。

希望對你有用。

計算機中什麼是程式,計算機中的指令和程式有什麼區別?

計算機中的程式是什麼你們知道嗎?程式是軟體開發人員根據使用者需求開發的,用程式設計語言描述的,適合計算機執行的指令 語句 序列。程式在港澳臺地區被稱為程式。程式都是為了實現特定目標或解決特定問題而設計出來,能讓電子計算機執行一個或多個操作,或執行某一任務。一般可以分為系統程式和應用程式兩大類。程式是...

計算機可以直接執行的程式是什麼語言形成的

機器語言是計算機可以直接識別,不需要進行任何翻譯的語言。每臺機器的指令,其格式和 所代表的含義都是硬性規定的,故稱之為面向機器的語言,也稱為機器語言。它是第一代的計算機語言,機器語言對不同型號的計算機來說一般是不同的。一條指令就是機器語言的一個語句,它是一組有意義的二進位制 指令的基本格式如,操作碼...

什麼是計算機木馬,計算機病毒與計算機木馬的概念是什麼?

木馬 trojan 希臘傳說中特洛伊王子誘走了王后海倫,希臘人因此遠征特洛伊久攻不下,希臘將領奧德修斯用計通過藏有士兵的木馬被對方繳獲搬入城中一舉戰勝對方,現在通過延伸把利用計算機程式漏洞侵入後竊取他人檔案 財產與隱私的程式稱為木馬。它是指通過一段特定的程式 木馬程式 來控制另一臺計算機。木馬通常有...