数据结构
1.数据结构按照逻辑划分
集合结构(数据之间无关系),线性结构(数据之间逻辑呈线性排列,是1对1的关系),树状结构(1对多的关系),网络结构(多对多的关系)
2. 数据结构按物理存储划分
顺序存储(数组结构),链式(链表),索引存储(B+树存储,能够快速定位),散列存储(Hash函数能够快速定位【插入和查找】)
3. 线性结构:包含线性表【顺序表(物理存储即ArrayList)+链表(物理存储即LinkedList)】,栈(后进先出,物理存储接口Deque),队列(先进先出,物理存储接口Queue),串
4.栈:运算受限的线性表(只有push,pop,peek,不能操作中间数据,例如摞书)栈结构一般用于储存方法指令,局部变量,当方法a调用b,b调用c时,会从a->b->c依次用push压栈进去,执行相反从c->b->a
5.队列:(只有enQueue,deQueue,peek,不能操作中间数据)队列有2个指针,1个指向队首,1个指向队尾。应用举例,多线程的就绪队列,阻塞队列
6.Java 里的栈和队列都是LinkedList实现的,其结构是LinkedList(实现类)--->Deque(子接口)-->Queue(父接口)