1.什么是数据结构?
数据结构是计算机存储、组织数据的一种方式
,指相互之间存在一种或多种特定关系的数据元素的集合。
2.容器背后对应的数据结构
每个容器都是对特定数据结构的封装。
-
Collection:是一个接口,包含了大部分容器常用的一些办法。
-
List:是一个接口,规范了ArrayList和LinkedList中要实现的办法
ArrayList:实现了List接口,底层为动态类型顺序表
LinkedList:实现了List接口,底层为双向链表 -
Stack:底层是栈,栈是一种特殊的顺序表
-
Queue:底层是队列,队列是一种特殊的顺序表
-
Deque:是一个接口
-
Set:集合,是一个接口,里面放置的是K模型
HashSet:底层为哈希桶,查询的时间复杂度为O(1)
TreeSet:底层为红黑树,查询的时间复杂度为O( l o g 2 N log_2N log2N),关于key有序的。 -
Map:映射,里面存储的是K-V模型的键值对
HashSet:底层为哈希桶,查询的时间复杂度为O(1)
TreeSet:底层为红黑树,查询的时间复杂度为O( l o g 2 N log_2N log2N),关于key有序的。
3.什么是算法?
算法
:就是定义良好的计算过程,取一个或一组的值为输入,并产生出一个或一组的值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。