好懂的数据结构划分
- 线性结构 堆栈heap 队列list
- 树 二叉树 二叉树遍历 二叉搜索树 平衡二叉树 哈夫曼树
- 图 图的遍历
- 排序算法 简单排序(冒泡、插入) 希尔排序 堆排序 归并排序
- 快速排序 表排序 基数排序
- 散列 散列表 散列函数
java list
- ArrayList: 底层是数组,线程不安全,查询快,增删慢,效率高;
- vector: 底层是数组,线程安全,查询快,增删慢,效率低;
- linkedList: 底层是链表,线程不安全,查询慢,增删快,效率高;
java set
- HashSet: 唯一性;
- LinkedHashSet : 底层是hash表(唯一性)和链表(存放和取出有序)组成,所以具有唯一性和有序性;
- TreeSet : 唯一性,集合内部有两种排序方式:自然排序 和 比较器排序;
java map
- HashMap: 存储无序,键具有唯一性;
- TreeMap: 存储为自然排序,键具有唯一性;
- LinkedHashMap: 存放和取出有序,键具有唯一性;