排序算法
- 基本排序:
冒泡、选择、插入 - 高级排序
希尔、归并、快速
检索算法
顺序查找、二分查找
高级算法
- 动态规划
斐波那契、最长公共子串、背包问题 - 贪心算法
找零问题、背包问题
链表
- 单向链表
- 双向链表
- 循环链表
二叉树
- 二叉树
- 二叉查找树
- 其他概念
红黑树、完全二叉树、满二叉树、平衡二叉树。。。
栈和队列
栈,后进先出
队列,先进先出
https://www.jianshu.com/p/afbfc784238a
https://www.cnblogs.com/yangecnu/p/Introduction-Stack-and-Queue.html
数据结构和算法
数组、列表、栈、队列、链表、字典、散列、集合、二叉树和二叉查找树
图和图算法、排序算法、检索算法、高级算法
http://blog.jobbole.com/110835/
数组
- splice
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/splice - 数组转换为字符串
数组转换为字符串:join/toString
字符串转换为数组:split - reverse
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse - 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
网友评论