剑指offer

  • 各个地方:每个函数注意入口处进行有效性判断,这要做到测试在前,编码在后
  • P32 注意一下设计模式,例如这个最简单的singleton模式
  • P58 如果要改变输入的输入最好问一下面试官
  • P49 C++的常亮字符串在一个特殊内存区域,方便指针赋值的时候重用
  • P59 面试题6 思维的扩展性,从反向联想到栈,从栈联想到递归(当然,用栈的方式更好,从栈转化为递归比较简单,反过来就不简单了,我觉得这可能也是考察点)
  • P61 对树的各种便遍历方法的非递归实现
  • P61 很多快速得到最值的问题可以通过堆来实现
  • P61 红黑树可以保证从根节点到叶节点的最长路径的长度不超过最短路径的两倍
  • P62 联想:哪两种遍历方式可以唯一的确定一颗二叉树
  • P94 如果面试题是求解一个问题的最优解,该问题可以划分为几个子问题,整体问题的最优解依赖于子问题的最优解,而且通常子问题会重叠,如斐波那契数列。
  • P92 通常在二维矩阵中寻找路径可以用回溯法解决(回溯法可以看做是一种暴力搜索),实际上是树的DFS。
  • 递归的代价:函数调用压栈出栈的时空消耗;子问题的重复计算;调用栈溢出。
本站总访问量