目录
1.数据结构与常用算法思维导图
2.线性结构使用场景
1. 数据结构与常用算法思维导图
2. 数据结构使用场景
2.1 数组:
优点:元素在内存中线连续存储,可以根据下标快速访问数组元素
缺点:增删查改效率不高,每一次增加或者删除元素都需要大量移动元素空出插入位置或者填补删除元素的位置
使用场景:频繁查询,很少进行增加或者删除的操作
2.2 链表:
优点:存储可以不连贯,根据索引将数据联系起来,增加或者删除元素的时候只需要修改索引
缺点:,当查询元素的时候需要从开头开始去查询,所以效率比较低
使用场景:少查询,需要频繁插入或者删除的操作
2.3 队列 :
特点: 先进先出(FIFO/first in first out) ,
使用场景: 多线程的阻塞队列管理
2.4 栈:
特点: 先进后出(LIFO/last in first out)
使用场景: 实现递归以及表达式计算,java 内存管理
2.5 数组与链表的区别
1.数组连续,链表不连续
2.数组内存静态分配,链表内存动态分配
3.数组从栈中分配空间,链表从堆中分配空间