算法和数据结构-笔记简版

001 基础

  1. 多块代码合在一起,只看最高复杂度的运算
  2. 时间复杂度
    1. 常数次数,1,2,3---,时间复杂度都是O(1)
    2. n,2n,3n---,常数*n次,时间复杂度都是O(n)
  3. 常见递归算法时间复杂度
    1. 二分查找 时间复杂度是 O(logn)
    2. 二叉树遍历 时间复杂度是 O(n)
    3. 排序查找 时间复杂度是 O(n)
    4. 快排,归并排序 时间复杂度是 O(nlogn)

002 数组及链表

数组

  1. 数组是内存里连续的一段存储区域.通过数组下标可以随机的访问任意一个元素.
  2. 访问任意数组元素的时间复杂度是O(1)
  3. 为了保证数组元素在内存中的连续性,插入和删除数组元素,时间复杂度是O(n)

链表

  1. 单链表
  2. 双链表
  3. 插入和删除的时间复杂度是O(1)
  4. 查找的时间复杂度是O(n),因为必须从链表头部遍历查找

003

猜你喜欢

转载自juejin.im/post/5c4c1bdc5188250f743e17c2