思考并回答以下问题:
- 数组和链表有什么区别?
- 什么是链表?什么是结点?什么是链?每个结点需要几个格子?
- 链表的第一个节点有什么作用?
- 链表的物理结构与数组不同怎么理解?链表相对数组有什么好处?
- 用一种语言来实现链表。写链表需要两个类,哪两个?为什么?
- 链表的读取和查找如何进行?是什么时间复杂度?
- 链表的开头插入和末尾插入如何进行?是什么时间复杂度?
- 什么场景适合使用链表?链表在删除操作中有优势,也是可实际使用的地方。怎么理解?
- 链表的另一个引人注目的应用,就是作为队列的底层数据结构。为什么?
- 什么是双向链表?