读书笔记17.06.07

  1. partition函数除了在快排中的其他作用:实现在长度为n的数组中查找第k大的数字
  2. 不要死板的认为排序算法时间复杂度最第为O(nlogn)。这是对于数量很大的,非重复排序而言的,如果排序数字有一定的范围,则可以考虑使用辅助空间。如:对几万员工的年龄排序,可以用辅助空间0~99,这样时间效率为O(n)
  3. 为什么递归算法效率一般较低?
    ①因为每一次递归要在内存栈中分配空间保存参数,返回地址以及临时变量;
    ②而且压入数据和弹出数据都需要时间。
    ③重复计算
  4. 斐波那契数列的典型应用:青蛙跳台阶,矩形覆盖
    (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)
  5. 变态青蛙跳台阶
    一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 数学归纳:2的n-1次方
  6. 二进制数的特点一:
    一个整数减去1时,该整数最右边的1变为0,如果该位置后面有0,则全变为1。
    应用:用来计算整数二进制形式中1个个数
    原理:把一个整数减去1,再和原整数做与运算,会把该整数最右边一个1变成0,那么该整数的二进制表示中有多少个1,就可以进行多少次这样的操作。
    n = ( n - 1) & n;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文出自 Eddy Wiki ,转载请注明出处:http://eddy.wiki/interview-code.h...
    eddy_wiki阅读 9,477评论 0 30
  • 刷题啦刷题啦,剑指offer好像比较有名,所以就在牛客网上刷这个吧~btw,刷了一些题发现编程之美的题好典型啊!!...
    Cracks_Yi阅读 529评论 0 1
  • 说明: 本文中出现的所有算法题皆来自牛客网-剑指Offer在线编程题,在此只是作为转载和记录,用于本人学习使用,不...
    秋意思寒阅读 1,244评论 1 1
  • 最近在准备一些暑期实习的笔试和面试,在牛客网上面做了一些题,现在整理出来供大家参考,希望和大家共同学习!题目不难,...
    Torang阅读 2,532评论 3 11
  • 最近特别特别想回到我上小学的那段时间,一天三顿饭都可以在家吃的日子。 小时候虽不喜欢读书,但起码是个安分守...
    印瘦瘦阅读 273评论 0 1

友情链接更多精彩内容