算法与数据结构概览

算法与数据结构概览

算法与数据结构概览

1. 链式储存结构,是带有数据和指针的数据结构,指针指向下一个元素的内存地址。分为单链表和双链表,如图所示:

算法与数据结构概览

链式储存结构的增加和删除效率都比较高,每一个位置包括数据和指向另一个数据的指针,在插入删除的时候,只要找到前一个数据,修改指针地址就可以了。


2. 接下来是顺序储存结构,顺序储存结构是使得逻辑上相邻的两个元素在物理位置上也相邻。

特点:

ArrayList 增删效率很低,因为如果连续的位置被占用,或者要插入,或者中间删除以后,要一个个复制然后移动。
但是查询效率很高。代码规范,初始化要指定大小。


3.栈和队列(都是受限的线性表)

栈:后进先出

单一职责思想,代理模式:
栈是用了LinkedList的方法实现的,那么为什么不直接用呢?因为栈不需要LinkedList的所有方法,只需要用几个。

队列:先进先出