涉及到的数据结构:
1. 数组
2. 链表
3. 队列
4. 栈
5. 散列表
6. 图
7. 树
1.数组和链表的比较
- 数组
特点:
使用数组意味着所有元素在内存中都是相连的(紧靠在一起的)
结果:
在数组中添加新元素可能很麻烦,如果没有了空间,就得移到内存的其他地方,因此添加新元素的速度会很慢。
一种解决之道是“预留座位”:即便当前只有3个元素,也请计算机提供10个位置,以防需要添加新元素。缺点:浪费内存;若超过10个,还得转移。 - 链表
特点:
链表中的元素可存储在内存的任何地方,由于链表的每个元素都存储了下一个元素的地址,从而使一系列随机的内存地址串在一起。
结果:
使用链表时,根本就不需要移动元素。链表的优势在插入元素方面。
缺点:
在需要读取链表的最后一个元素时,你不能直接