数组,链表(Array,Linked List)
数组
查找或者改变数组里的元素,可以进行插入操作(O(N)的时间复杂度),或者删除操作(O(N)的时间复杂度)
想要改善数组这种数据结构的插入和删除的时间复杂度,因此引入链表形式
链表 Linked List
链表的插入操作 O(1)的时间复杂度
链表的删除操作 O(1)的时间复杂度
链表的查找操作需要从头开始找,时间复杂度为O(N)
综上,链表在查找时比较慢,在插入和删除操作时比较快:而数组在查询时比较快,在插入和删除是比较慢。因此要结合情况选择。要了解每种数据结构的特点。
双链表 Doubly Linked List
双链表既有前驱又有后继 查询链表元素时会相对方便