- partition函数除了在快排中的其他作用:实现在长度为n的数组中查找第k大的数字
- 不要死板的认为排序算法时间复杂度最第为O(nlogn)。这是对于数量很大的,非重复排序而言的,如果排序数字有一定的范围,则可以考虑使用辅助空间。如:对几万员工的年龄排序,可以用辅助空间0~99,这样时间效率为O(n)
- 为什么递归算法效率一般较低?
①因为每一次递归要在内存栈中分配空间保存参数,返回地址以及临时变量;
②而且压入数据和弹出数据都需要时间。
③重复计算 - 斐波那契数列的典型应用:青蛙跳台阶,矩形覆盖
(1)一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 f(n)=f(n-1)+f(n-2)
(2)我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?f(n)=f(n-1)+f(n-2) - 变态青蛙跳台阶
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 数学归纳:2的n-1次方 - 二进制数的特点一:
一个整数减去1时,该整数最右边的1变为0,如果该位置后面有0,则全变为1。
应用:用来计算整数二进制形式中1个个数
原理:把一个整数减去1,再和原整数做与运算,会把该整数最右边一个1变成0,那么该整数的二进制表示中有多少个1,就可以进行多少次这样的操作。
n = ( n - 1) & n;
读书笔记17.06.07
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 本文出自 Eddy Wiki ,转载请注明出处:http://eddy.wiki/interview-code.h...