图解 Python 算法
普通程序員,不學(xué)算法,也可以成為大神嗎?
對(duì)不起,這個(gè),絕對(duì)不可以。
可是算法好難啊~~看兩頁(yè)書(shū)就想睡覺(jué)……
所以就不學(xué)了嗎?就一直當(dāng)普通程序員嗎?
如果有一本算法書(shū),看著很輕松……又有代碼示例……又有講解……
怎么會(huì)有那樣的書(shū)呢?
哎呀,最好學(xué)了算法人還能變得很萌……
這個(gè)……要求是不是太高了呀?
哈哈,有的書(shū)真的能滿足所有這些要求哦!
來(lái),看看這本書(shū)有多可愛(ài)——
二分查找萌一個(gè)
1~100,阿喵同學(xué)選了個(gè)數(shù),記在心里
讓鼻子同學(xué)猜
如果像下面這樣猜……
鼻子同學(xué)很有可能失去阿喵同學(xué)
因?yàn)楦黄鹜嫠?shí)在是……
太無(wú)聊了!
但是,如果這樣猜……
鼻子同學(xué)很快就猜對(duì)了
阿喵同學(xué)會(huì)覺(jué)得鼻子同學(xué)很聰明
而且好像很懂她哦~
把一列元素?cái)r腰一截,再攔腰一截,再攔腰一截……
這個(gè)就是二分查找咯~
Python代碼來(lái)一發(fā)——
看不清?點(diǎn)擊代碼,看大圖
遞歸算法萌一個(gè)
奶奶有個(gè)大盒子
可以上鎖的那種
打開(kāi)大盒子,里面有很多小盒子
奶奶說(shuō),大盒子的鑰匙就在某個(gè)小盒子里
這些小盒子里還有更小的盒子
……
你要如何找到鑰匙呢?
你可以這樣:
也可以這樣:
第一種方法好像比較聰明
但是第二種方法更簡(jiǎn)單
第一種方法叫做簡(jiǎn)單查找,第二種方法叫做遞歸。
在編程中,遞歸非常常見(jiàn),事實(shí)上,很多算法都用到了遞歸思想。
不過(guò)呢,也有人覺(jué)得遞歸很麻煩。
你怎么看?
簡(jiǎn)單查找是這樣的——
遞歸是這樣的——
看不清?點(diǎn)擊代碼,看大圖
背包問(wèn)題萌一個(gè)
有一個(gè)賊,帶著一個(gè)包……
能裝4磅重的東西
他可以偷的東西只有以下幾件
請(qǐng)問(wèn),
他拿走哪幾樣比較合算?
東西反正也不多,
要不然就一輪一輪地試?
這次當(dāng)然沒(méi)問(wèn)題……
可是賊也不能保證
每次只想偷這么點(diǎn)東西
花那么多時(shí)間試來(lái)試去的
不怕被人發(fā)現(xiàn)嗎?
說(shuō)得簡(jiǎn)單一點(diǎn),背包問(wèn)題就是——東西你都想要,但是不能都要,那么怎樣盡量多拿點(diǎn)。
而且要快!要快!要快!重要的事情說(shuō)三遍!
背包問(wèn)題有很多種解決辦法,每一種都對(duì)應(yīng)一種算法。把這個(gè)問(wèn)題想清楚了,你至少可以成為半個(gè)算法高手。
萌
不
萌
?
更萌的在書(shū)里,不給你們看!
我才不會(huì)告訴你們,這些連環(huán)畫(huà)一樣的算法解析都出自好玩又漲知識(shí)的《算法圖解》呢。
我才不會(huì)告訴你們,這書(shū)零基礎(chǔ)看了開(kāi)心入門(mén),程序員看了神清氣爽呢。
我才不會(huì)告訴你們,大O表示法、數(shù)組、鏈表、散列動(dòng)態(tài)規(guī)劃都被這本書(shū)變成了萌物呢。
我才不會(huì)告訴你們,動(dòng)態(tài)規(guī)劃、圖算法、K臨近算法、狄克斯特拉算法在這本書(shū)里一點(diǎn)也不高冷呢。
我才不會(huì)告訴你們,這本書(shū)不只有圖,還收錄了Python代碼示例,還有附有詳細(xì)的代碼講解呢。
尤其要保密的就是這書(shū)的封面,嗯,這本書(shū)絕對(duì)不長(zhǎng)下面這樣……
作者:Aditya Bhargava
譯者:袁國(guó)忠
這不是《算法圖解》的目錄
算法簡(jiǎn)介 ? 第1章
選擇排序 ? 第2章
遞歸 ? 第3章
快速排序 ? 第4章
散列表 ? 第5章
廣度優(yōu)先搜索 ? 第6章
狄克斯特拉算法 ? 第7章
貪婪算法 ? 第8章
動(dòng)態(tài)規(guī)劃 ? 第9章
K最近鄰算法 第10章
接下來(lái)如何做 第11章
識(shí)別二維碼即可購(gòu)買(mǎi)哦
總結(jié)
以上是生活随笔為你收集整理的图解 Python 算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 怎么做bootu盘启动盘 如何制作新的启
- 下一篇: 快报:Java跌惨!Python背后或有