【看图识算法】这是你见过最简单的 “算法说明书”
【新智元導(dǎo)讀】像閱讀宜家的安裝說(shuō)明書(shū)一樣學(xué)習(xí)算法,是怎樣的體驗(yàn)?不倫瑞克工業(yè)大學(xué)的三名研究者制作了這份“算法說(shuō)明書(shū)”,簡(jiǎn)明傳神地解釋了一些基本算法,一起來(lái)看圖說(shuō)話(huà)。
Quicksort算法
快速排序(Quicksort)是基于“分治法”的高效排序算法。隨機(jī)選擇劃分元素是避免最壞情況runtime好策略。
Bogo排序
Bogo排序(Bogo sort)也稱(chēng)為愚蠢排序,是一種簡(jiǎn)單但效率非常低的排序算法。這個(gè)排序算法基于可能性,其原理等同將一堆卡片拋起,落在桌上后檢查卡片是否已整齊排列好,若非就再拋一次,直到正確排好序的序列出現(xiàn)為止。
公開(kāi)密匙加密
公開(kāi)密匙加密(Public-key cryptography)可以用于(至少)兩個(gè)目的:一個(gè)人的公開(kāi)密匙可以用來(lái)發(fā)送加密的消息給密鑰的所有者。這個(gè)人可以使用他的私有密匙來(lái)創(chuàng)建數(shù)字簽名,從而顯示消息的真實(shí)性。
二分搜素算法
二分搜素算法(Binary search)是一種用于在有序數(shù)組中查找某個(gè)值的位置的快速搜索算法。例如人們?cè)凇安聰?shù)字”時(shí),可以通過(guò)反復(fù)詢(xún)問(wèn)“大于或小于x?”來(lái)找到。這種搜索算法每一次比較都使搜索范圍縮小一半。
歸并排序
歸并排序(Merge sort)是基于“分治法”的遞歸排序算法。
AVL tree
AVL樹(shù)(AVL tree)是一種保證項(xiàng)目快速查找,插入和刪除的數(shù)據(jù)結(jié)構(gòu)。它是二叉搜索樹(shù)(Binary Search Tree)的一種自平衡變體。
graph scan算法
graph scan算法遍歷圖中所有可到達(dá)的節(jié)點(diǎn)。它的行為可以通過(guò)插入不同的數(shù)據(jù)結(jié)構(gòu)來(lái)改變:使用無(wú)序集合導(dǎo)致隨機(jī)搜索,使用堆棧產(chǎn)生深度優(yōu)先搜索,使用隊(duì)列產(chǎn)生廣度優(yōu)先搜索。
Fleury算法
Fleury算法,這是一種在圖中求解歐拉路徑的優(yōu)雅方法——一次只通過(guò)每條邊一次的路徑。
注:IDEA是SándorP. Fekete,Sebastian Morr和Sebastian Stiller匯編的一些算法說(shuō)明。它們最初是為不倫瑞克工業(yè)大學(xué)Sándor算法和數(shù)據(jù)結(jié)構(gòu)講座而創(chuàng)建,作者發(fā)布它們,希望它們能夠用于各種背景的教學(xué)和學(xué)習(xí)。
總結(jié)
以上是生活随笔為你收集整理的【看图识算法】这是你见过最简单的 “算法说明书”的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Service Mesh 实践指南:从单
- 下一篇: Spring 的@Bean 的用法