数据结构:
23次课
1、是一门基础学科
2、研究的是数据如何在计算机中进行组织和存储,使得我们可以高效的获取数据和修改数据
3、可以分为三类
线性结构:数组 队列 链表 哈希表……
树形结构:二叉树、二分搜索树、AVL树、红黑树、堆、Trie、线段树、并查集……
图结构:邻接矩阵、邻接表
排序算法
4、为什么学习数据结构:
根据不同的应用,灵活选择最合适的数据结构
数据结构 + 算法 = 程序
数组:一组相同类型数据的集合
Java中数组有什么特点:
- 数组在内存中连续分配
- 创建数组时要指明数组的大小
- 如何访问数组,通过索引 索引从0开始,到数组的长度-1
- 使用索引:
获取指定索引位置的值 arr[index]
修改指定索引位置的值 arr[index]=值
删除数组中的元素(假删除)
- 数组的遍历:将数组中的元素一一打印出来(使用循环)
- 数组一旦创建后,大小不能改变
数组最大的优点:快速查询。
数组最好应用于索引有语义的情况
并非所有有语义的数字都可以作为数组的索引
4、基于Java中的数组,进行二次封装,制作属于我们自己的数组(可变数组)
5、向数组中添加元素
6、向指定位置添加元素
7、向数组头添加元素
8、获取指定位置的元素和修改指定位置的元素
9、包含、搜索和删除元素
10、使用泛型(”任意“类型的数组) 不可以是基本数据类型,只能是类对象 ➢ 基本数据类型:8种 byte char boolean int short float double long 每种基本数据类型都有一个对应的包装类