如何通俗易懂地解釋什麼是演算法?

時間 2021-05-07 02:09:30

1樓:懶等於窮丶

程式設計師路過!

通俗理解就是:你要去某地,你有無數種方法,坐車,開車,騎車,跑著。比如說:

你準備開車去,走到一半,發現旁邊有條小路,對比繼續開車過去可以更快,於是你就熄火停車,決定走著去。走著走著,又發現騎一輛自行車會更快,於是你就掃了一輛摩拜單車。

以上只是例子,你無論怎麼樣,你的目標只有目的地。但是期間有好多可能性能到達目的地,你可以選擇任何一條路,或隨時切換另一種方式,目的是更節省時間與體力。

由此就延伸出來了「優化演算法」,搞明白上面,估計單聽名字就該明白了吧!

2樓:Someday

沒想到有一天我遇到了這個問題,跟學文的女票解釋什麼叫 「程式=演算法+資料結構」?

那麼什麼是演算法?什麼是資料結構?我試圖用圖書館找書的例子解釋但是失敗了,原來這個例子還是不夠生活化,那麼我能想到最形象的例子,應該是做菜了。

1、「程式的目的是解決問題「

就比如你做菜,解決了餓這一生理問題。

2、」演算法是解決問題的步驟「

你學習乙個菜譜,在XX分鐘加入XX多少克,烤製XX秒,是乙個固定的流程。當然了,如果你做的是中餐,適量少許引入了隨機性,那就變成了隨機性演算法,但也是演算法。

3、」資料結構是管理資料的工具「

你做一道菜,總要用到柴公尺油鹽,總要用到肉菜公尺麵,這是原料,為了方便原料的取用,你需要乙個櫥櫃,有序地擺放這些工具,提高效率。

4、」程式=演算法+資料結構「

你要處理按照步驟(演算法)來處理這些原料(輸入),讓他們變成一道菜(輸出)。所以程式最終總是為了處理一些資料,得到一些輸出,演算法告訴你步驟,資料結構提供給你輸入資料,你按照演算法運算元據得到了輸出,便是乙個程式。

3樓:zhengyang

演算法就是完成目標事物的步驟。比如說刷牙,第一步擠牙膏,第二步把牙膏擠在牙刷上..... 不用想的太複雜。我們每天的日常生活都是和演算法息息相關的

4樓:frenop

a process or set of rules to be followed in calculations or other problem-solving operations, especially by a computer.

5樓:笑狼

通俗易懂就是舉例子了,比如去人群裡面找乙個穿藍衣服白褲子的短頭髮男人。先把女的都排除掉,然後不是藍衣服的排除掉,然後不是白褲子的排除掉,然後不是短頭髮的排除掉。剩下的就是你要找的人。

把這些用數學表達,然後找出最簡潔有效的那乙個,就是演算法。

6樓:shawnhao

廣義的演算法是既定的事實。我們就生活在演算法中。人的一生各種所做的事情各種事實表達出來就是演算法。

狹義的來說是解決問題的一般步驟。好的演算法步驟簡單,能很好的解決問題,使用的資源也很少。

7樓:大湯圓

所謂的的「通俗易懂」,其實就是對理解的模糊化。對一句話完全不懂和通俗易懂其實都是做到「說了等於沒說,沒說卻不等於說了」。在我看來,在這個世界上根本就沒有什麼是「通俗易懂」的。

下面拿演算法舉例。

所謂演算法,就是計算的辦法。

怎麼樣,夠通俗易懂吧。

可是什麼是計算?什麼是辦法?你根本不理解,所以這句話說了等於沒說。

簡單地,我們列豎式,是計算的辦法。按計算器,也是計算的辦法。數手指頭,也是計算的辦法。

我們先算乘除再算加減是計算的辦法,先算完乙個東西,拿得到的結果再算另乙個東西,也是計算的辦法。

夠通俗了吧。

屁!我自己在寫的時候渾身上下都不自在,因為我自己都混亂了,我寫的時候就在想啊,加法是一種計算,還是一種計算的辦法?

這下你知道為什麼我總寫不出完整的文章了吧。——我只要寫東西,大腦就一定能從我寫的糾出一堆問題來。不過年紀大了之後勉強能寫一點了……咳咳

其實上面這個問題解決起來很麻煩——要提的東西太多了。我們來看點簡單點的,數手指頭。

數手指頭聽起來是多麼通俗易懂啊,你要描述起來可就不那麼容易了,首先我們想到範圍,這到底能數多少。然後假設我們遭遇的是大於10的情況,那麼如果要數10以外的數字,每一次數到十之後是初始化為手掌,手指頭再乙個個向手心彎。還是數到十之後直接把手指頭倒序依次舒展,把拳頭慢慢變回手掌?

這兩個操作是不一樣的。另外記憶難度,計算時間所代表的複雜程度也是需要考慮的問題。

但我想,說了這麼多,應該足夠讓人通俗易懂地理解什麼是演算法了。所以說學到後面,都會覺得課本上那些以前看不懂的東西,才是真正最通俗易懂的,至少,數學是這樣的。

8樓:時間的旅客

初中政治題三大問題:是什麼,為什麼,怎麼做而演算法就是「怎麼做」。

並不是所有的「怎麼做」都能叫演算法

唯有你一字一句全盤按照我說的去做,並且你成功了,這才能叫演算法。

9樓:陳陳

定義一種處理資料得方法,比如說"+"法就是把左右兩個資料求和。我們也可以定義一些新的演算法,比如說求1~n的隨機數,通過這種有輸入,的運算,就能得到我們想要的資料了。

10樓:Hong

解決問題的方法嘛。

演算法的定義呀。

具體的演算法有乙個解釋映像特別深。

遞迴(加黑加粗):如果你想知道什麼是遞迴,參見遞迴(加黑加粗)。妙!

11樓:

從北京到廣州可以坐汽車去,也可以坐飛機去,還可以開蟲洞跳過去,古代,只能騎馬去,或者乾脆走過去。

辦事情的方法,就叫演算法。

演算法有優劣之分,當然,某些演算法由於科學技術的原因,我們目前實現不了。

12樓:

比如計算1到100的和,普通演算法用1+2+3·····+100高斯:(1+99) +(2+98)·····+(49+51)+100+50

=100X50+50

=5050

13樓:嘉慧Lincoln

確切性(Definiteness): 乙個演算法的每一步驟必須有確切的定義。

輸入(Input):乙個演算法有零個或多個輸入,以刻畫運算物件的初始情況,所謂零個輸入是指演算法本身給定了初始條件。

輸出(Output):乙個演算法有乙個或多個輸出。沒有輸出的演算法毫無意義。

可行性(Effectiveness): 乙個演算法的任何計算步驟都是可以被分解為基本可執行的操作,每個操作都能夠在有限時間內完成。

PS.感覺又複習了一遍計算機原理。-

14樓:可愛的小咩

比如貪心演算法,我可以這樣解釋:就是先只要最好的,等出了問題再說。

比如遞迴演算法,你可以講從前有座山,山里有座廟那個迴圈的故事。

這是語文能力的體現,我語文渣,自然解答不了太多。

如何通俗易懂地解釋棒球規則?

老薑 沒有辦法。目前為止,我沒見過一篇能通俗易懂地介紹清楚棒球規則的文章。如果誰能講明白,就發財了。美國棒球協會幾十年來都一直想開啟中國市場,但是一直沒有人能用中文解釋清楚棒球規則,所以99 以上的中中國人始終都不懂打棒球的在幹嘛,所以美國棒球協會只能眼巴巴的看著nba在中國賺得盆滿缽滿。足球,踢進...

如何通俗易懂地解釋外微分?

null 外微分 和 Stokes 定理 大概是對應廣義的通量面積密度 對應 和散源強度體積密度 對應 對定向流形的邊界的積分 form 積分除以某種 維體積的密度.或許先對 的矩形證明 Stokes 定理是更簡單的引入.詳見這篇文章 john chen 我也是想理解外微分所以才找到知乎的這個問題,...

如何通俗易懂地解釋風險溢價?

Theratiomeasuresthe excess return or risk premium per unit of deviation.In finance,the Sharpe ratio also known as the Sharpe index,the Sharpe measure,...