算法笔记

全排列  
    例如abcd,排列可能数等于数字个数的阶乘 4!
有重复元素的全排列
    例如aabbbcd,排列数等于全排列数/(a元素重复数的阶乘*b元素重复数的阶乘) 6!/(2!*3!)





如果需要空间,但是又不允许有额外空间,可以尝试利用输入和输出,这部分空间通常不会计算入内


2进制轮训
    对于整数%2,得到最后一位,然后再/2,消除最后一位,循环调用即可


由前序遍历和中序遍历确定一个二叉树
http://www.codebelief.com/article/2016/12/binary-tree-traversal-sequence/


求质数数量 厄拉多塞筛法



二叉树
    深度优先遍历
        前序 中序 后序遍历
    广度优先遍历
        层序遍历


图论

    最短路径    迪杰斯特拉
    单元最短路径问题


算法
    借助辅助空间,空间换时间

递归带来的问题

  1. 堆栈溢出。堆栈溢出的产生是由于过多的函数调用,导致调用堆栈无法容纳这些调用的返回地址。
  2. 重叠计算
  3. 空间复杂度高
  4. 函数调用耗时多