小工具知识网

当前位置: 首页 > 行业知识 > 学习JAVA的第十二天(基础)

行业知识

学习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);    }

                               

上一篇:怎么建立自己的网站?

下一篇:攻城online元宝获取攻略揭秘,高效刷元宝,轻松成为游戏霸主!