算法与数据结构概览
1. 链式储存结构,是带有数据和指针的数据结构,指针指向下一个元素的内存地址。分为单链表和双链表,如图所示:
链式储存结构的增加和删除效率都比较高,每一个位置包括数据和指向另一个数据的指针,在插入删除的时候,只要找到前一个数据,修改指针地址就可以了。
2. 接下来是顺序储存结构,顺序储存结构是使得逻辑上相邻的两个元素在物理位置上也相邻。
特点:
ArrayList 增删效率很低,因为如果连续的位置被占用,或者要插入,或者中间删除以后,要一个个复制然后移动。
但是查询效率很高。代码规范,初始化要指定大小。
3.栈和队列(都是受限的线性表)
栈:后进先出
单一职责思想,代理模式:
栈是用了LinkedList的方法实现的,那么为什么不直接用呢?因为栈不需要LinkedList的所有方法,只需要用几个。
队列:先进先出