数据结构时间复杂度
数组ARRARY
数组使用一块连续的内存空间保存数据,访问第n个数据的时间复杂度为O(1),但是要在数组中查询一个指定的数据的时间复杂度为O(N)。
在数组中插入或者删除数据,最好的情况是在数组的末尾插入删除,时间复杂度为O(1),但是最好坏的情况是在第一个位置插入或者删除数据,后面的数据都需要移动,时间复杂度为O(N)。
链表LINKLIST
链表是在非连续的内存单元格中保存数据并通过指针连接在一起,最后一个节点指针指向NULL。
查找数据的时间复杂度为O(N),插入和删除的时间复杂度为O(1),只需要移动指针即可。
堆栈STACK
先进后出的原则(LIFO),通过数组和链表实现,所有操作都在顶部执行,包括查看、压栈、堆栈。
队列QUEUE
先进先出的原则(FIFO),通过数组和链表实现,只允许在队尾添加数据,在队头删除数据,可查看队头队尾数据
| 时间复杂度 | 查看 | 更新 | 插入 | 删除 |
| 数组 | O(1) | O(1) | O(n) | O(n) |
| 链表 | O(n) | O(1) | O(n) | O(1) |

浙公网安备 33010602011771号