数组的常见算法
本笔记来源于:尚硅谷Java零基础全套视频教程(宋红康2023版,java入门自学必备)
b站视频
1.数组的创建与元素赋值:
杨辉三角(二维数组)、回形数(二维数组)、6个数,1-30之间随机生成且不重复。
2.针对于数值型的数组:
最大值、最小值、总和、平均数等
3.数组的赋值与复制
int[] array1,array2;
array1 = new int[]{1,2,3,4};
3.1 赋值:
array2 = array1;
如何理解:将array1保存的数组的地址值赋给了array2,使得array1和array2共同指向堆空间中的同一个数组实体。
3.2 复制:
array2 = new int[array1.length];
for(int i = 0;i < array2.length;i++){
array2[i] = array1[i];
}
如何理解:我们通过new的方式,给array2在堆空间中新开辟了数组的空间。将array1数组中的元素值一个一个的赋值到array2数组中。
4.数组元素的反转
1 |
|
5.数组中指定元素的查找:搜索、检索
5.1 线性查找:
实现思路:通过遍历的方式,一个一个的数据进行比较、查找。
适用性:具有普遍适用性。
5.2 二分法查找:
实现思路:每次比较中间值,折半的方式检索。
适用性:(前提:数组必须有序)
6.数组的排序算法
理解:
1)衡量排序算法的优劣:
时间复杂度、空间复杂度、稳定性
2)排序的分类:内部排序 与 外部排序(需要借助于磁盘)
3)不同排序算法的时间复杂度
4)手写冒泡排序
1 |
|
数组的常见算法
http://yuanql.top/2023/01/03/03_java基础编程/03_数组/数组的常见算法/