行业知识
学习JAVA的第十二天(基础)
2026-11-09 07:56:09
来源:互联网转载
���录
()算法
查找算法
()基本查找(顺序查找)
二分查找(折半查找)
分块查找
排序算法
冒泡排序
选择排序
插入排序
快速排序
递归算法
算法
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。
查找算法
基本查找(顺序查找)
关键:
从0索引开始依次向后查找
方法:
public static boolean basicSearch(int[] arr,int number) { //基本查找 遍历数组查找所需结果 for (int i = 0; i 二分查找(折半查找)
关键:
数组中的数据是有序的
每次排除一半的查找范围,节省查找次数
方法:
public static int BinarySearch(int[] arr,int number) { //定义变量确定查找范围 最小肯定是0索引的 int min = 0; //最大的索引是数组长度-1 int max = arr.length-1; //开始循环查找数据,利用while循环,查找出索引直接返回结果 while(true){ if(min > max){ //返回-1,调用时可以将-1与0作比较,得出数据索引是否存在 return -1; } //中间位置 int mid = (min + max) / 2; //arr[mid]>number if(arr[mid]>number){ max = mid - 1; }//arr[mid]= end || arr[end] = end || arr[start] > baseNumber) { break; } start++; } int tmp = arr[start]; arr[start] = arr[end]; arr[end] = tmp; } int tmp = arr[start]; arr[start] = arr[startIndex]; arr[startIndex] = tmp; //递归条件 QuickSort(arr,startIndex,start-1); QuickSort(arr,start+1,endIndex); } 递归算法
方法中调用方法本身的现象
关键:
递归算法一定要有出口,否则内存会溢出
以大化小解决问题
方法:
//简单的累加递归 public static int Recursion(int number) { if(number == 1){ return 1; } return number+Recursion(number-1); }
//简单的求阶乘的递归 public static int getNumber(int number) { if(number == 1){ return 1; } return number * getNumber(number-1); }