【数据结构】(数组+hash表+链表)操作的时间复杂度

428 阅读1分钟

目录

  1. 哈希表(对象)
  2. 链表
  3. 数组
  4. 其他数据结构

一、哈希表(对象)

hash表就是JS中的对象

特点:

  • 无序
  • 数组+链表 = hash

image.png

hash碰撞现象(属于一种正常现象)

解决方式

  1. 扩容
  2. 用链表解决

image.png

二、链表

最大的特点就是新增/删除时间复杂度是O(1)

举例说明:比如排队排一排,你不需要知道你是第几个,你只需要知道你的下一个是谁就可以了。

操作的时间复杂度

image.png

1)环形列表

image.png

三、数组

操作的时间复杂度

查找的时间复杂度除了通过索引查找外,其他的查找类api( 比如 includes与splice 时间复杂度都是O(n) )

image.png

四、其他数据结构

所有的数据结构都是通过数组和Hash组合而成的。

参考

总结