linkedlist

数组

优势:高效,每个元素访问时间是常数,这一特性叫随机访问

缺点:要申明初始化大小,很难去在任意位置插入或删除

linkedlist

定义:一种储存数据的形式

优点:过不同的节点储存一串数据,每个节点包含一个数据,同时包含指向下一个数据的链接,最后一个元素的链接为“NULL”。linkedlist可以无限延长,不需要提前声明大小,同时插入和取出元素很容易,只需要改变指向的链接就好。插入元素的复杂度为O(n)

缺点:1.不能随机访问2.储存要占据额外的储存空间,要额外储存指向节点的链接。

二者比较

内存

  1. array在内存空间占据连续的位置
  2. linkedlist不需要连续的位置。

linkedlist basic operation

$$

1.q ← \leftarrow p这表示将节点p指向p
2.q ← \leftarrow next of p 这个表示q 指向q的前一个结点
3.p ← \leftarrow p\ 将 p指向p的下一个节点
4.next of q ← \leftarrow p q的下一个指向p
5. next of q ← \leftarrow next of p 将p的下一个设置为q的下一个
$$

linkedlist笔记(一)

递归(打印链表A的值)

traverse(A){
linkedlist笔记(一)

if(A=NULL)

return

else

print A.value

traverwe(A.next)

}

在链表中插入值

algorithm insertNode()

linkedlist笔记(一)

链表中删去值

linkedlist笔记(一)

search value

时间复杂度为O(N),空间复杂度为O(1).

相关文章:

  • 2022-12-23
  • 2021-10-31
  • 2022-12-23
  • 2021-10-21
  • 2022-12-23
  • 2021-06-03
  • 2021-07-10
猜你喜欢
  • 2021-07-05
  • 2022-12-23
  • 2021-06-10
  • 2021-11-23
  • 2022-12-23
  • 2022-02-17
相关资源
相似解决方案