定义
真正的动态数据结构(线性结构);
最简单的动态数据结构;
数据存储在”节点“(Node)中;
作用
能够更深入的理解引用(指针)和递归,可以用来组织更加复杂的数据结构
题,有助于目录的生成
优点
真正的动态,不需要处理固定容量的问题。
缺点
丧失了随机访问的能力;
结构实现
public class LinkedList<E> {
private class Node{
public E e;
public Node next;
public Node(E e,Node next) {
this.e=e;
this.next=next;
}
public Node(E e,Node next) {
this.e=e;
this.next=next;
}
public Node(E e) {
this(e,next:null);
}
public Node() {
this(e:null,next:null);
}
@Override
public String toString() {
return e.toString();
...
}
}
}
链表的时间复杂度分析
添加操作 O(n)
删除操作O(n)
修改操作O(n)
查找操作O(n)