数据结构+算法

2018-07-16  本文已影响14人  simonbaker

排序算法

  1. 基本排序:
    冒泡、选择、插入
  2. 高级排序
    希尔、归并、快速

检索算法

顺序查找、二分查找

高级算法

  1. 动态规划
    斐波那契、最长公共子串、背包问题
  2. 贪心算法
    找零问题、背包问题

链表

  1. 单向链表
  2. 双向链表
  3. 循环链表

二叉树

  1. 二叉树
  2. 二叉查找树
  3. 其他概念
    红黑树、完全二叉树、满二叉树、平衡二叉树。。。

栈和队列

栈,后进先出
队列,先进先出
https://www.jianshu.com/p/afbfc784238a
https://www.cnblogs.com/yangecnu/p/Introduction-Stack-and-Queue.html

数据结构和算法

数组、列表、栈、队列、链表、字典、散列、集合、二叉树和二叉查找树
图和图算法、排序算法、检索算法、高级算法
http://blog.jobbole.com/110835/

数组

  1. splice
    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
  2. 数组转换为字符串
    数组转换为字符串:join/toString
    字符串转换为数组:split
  3. reverse
    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse
  4. sort
    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
    如果没有指明 compareFunction ,那么元素会按照转换为的字符串的诸个字符的Unicode位点进行排序。例如 "Banana" 会被排列到 "cherry" 之前。当数字按由小到大排序时,9 出现在 80 之前,但因为(没有指明 compareFunction),比较的数字会先被转换为字符串,所以在Unicode顺序上 "80" 要比 "9" 要靠前。

in-place算法 https://zh.wikipedia.org/wiki/%E5%8E%9F%E5%9C%B0%E7%AE%97%E6%B3%95

链表

http://wuchong.me/blog/2014/03/25/interview-link-questions/

上一篇下一篇

猜你喜欢

热点阅读