/grokking-coding

前端算法和数据结构 leetcode JavaScript版

Primary LanguageJavaScript

精讲

速揽

排序算法

  1. 冒泡排序
  2. 插入排序
  3. 选择排序
  4. 归并排序
  5. 快速排序
  6. 颜色排序
  7. 移动 0

重点:

  • 插入排序和冒泡排序有什么区别?谁性能更好?

从时间复杂度、空间复杂度以及稳定性来讲都是相同的,唯一不同的在于排序过程中的(交换 & 比较次数)。

交换:冒泡排序需要进行三次操作,而插入排序只需要执行一次操作,因此在大量数据集时,插入排序性能要好。

查找

二分查找

  1. 经典二分查找
  2. 二维矩阵中进行查找
  3. 找到最接近的元素
  4. 找到重复元素的第一个位置和最后一个位置
  5. K 个最接近的元素
  • 《箭指 Offer》 11:

Stack & Queue

  1. 两个 Stack 实现一个 Queue
  2. min 函数的 stack
  3. 多个栈排序