1、冒泡排序:
冒泡排序算是最基本的python算法了。也算python面試遇到問的最多的了。
如果是封裝成函數。代碼如下:
如果初始就一個字典。那么代碼為:
冒泡排序的本質就是兩兩比較。根據結果調換位置。最終達到一個排序的效果。
注:除此之外。我們還有一種方式,同樣可以達到排序的效果:
這種方法屬于利用java基礎知識進行排序。看起來也沒啥難度,就不做解釋了。
2、乘法表:
乘法表出現頻率僅次于冒泡。
當然:還有一種蛋疼一點的寫法:
3、遞歸函數:
面試手寫遞歸函數的可能性不如上面兩個高。但是面試官問一些python的基礎時,經常會問到遞歸。
遞歸基本上分為:計算N的階乘、斐波拉契數列、冪的遞歸、漢諾塔問題幾大類。
3.1、計算N的階乘:
1、使用reduce函數:
2、自己寫個遞歸:
有點簡陋。。。就這么滴吧
3、for循環:
總結:reduce效率最高,推薦。自定義看起來直觀一點。for循環效率最差, 不推薦。
3.2斐波拉契數列。(一個數列,從3開始每一項都等于前兩項的和,那么這個數列就叫斐波拉契數列)
3.3冪的遞歸。
3.4漢諾塔問題:
emmmmm我也不清楚。基本也不會問。
4、當然還有一些比如一個字符串找出出現次數最多的字符。這種也是比較簡單的。
?