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、当然还有一些比如一个字符串找出出现次数最多的字符。这种也是比较简单的。