美文网首页
5. 理论讲解:数组、链表(Array、Linked List)

5. 理论讲解:数组、链表(Array、Linked List)

作者: 博士伦2014 | 来源:发表于2018-11-21 18:09 被阅读0次

1. Array

图 1 图 2

两种常见的数组操作:插入和删除
复杂度:
• Access: O(1)
• Insert: 平均 O(n)
• Delete: 平均 O(n)

特点:查询操作快,插入删除慢

2. Linked List

图 3.链表 图 4 图 5.链表插入一个元素 图 6. 链表删除一个元素

2.1 Doubly Linked List

图 7. 双链表
特点:查询操作慢,插入删除很快

3. 时间复杂度

space     O(n)
prepend   O(1)
append    O(1)
lookup    O(n)
insert    O(1)
delete    O(1)

4. 练习题目

  1. https://leetcode.com/problems/reverse-linked-list/
  2. https://leetcode.com/problems/swap-nodes-in-pairs
  3. https://leetcode.com/problems/linked-list-cycle
  4. https://leetcode.com/problems/linked-list-cycle-ii
  5. https://leetcode.com/problems/reverse-nodes-in-k-group/

相关文章

网友评论

      本文标题:5. 理论讲解:数组、链表(Array、Linked List)

      本文链接:https://www.haomeiwen.com/subject/hwocqqtx.html