美文网首页
简单算法

简单算法

作者: xSpringCloud | 来源:发表于2018-06-06 17:30 被阅读0次
  • 冒泡排序:
 //冒泡排序
        int swap = 0;
        for (int i = 0; i <array.length ; i++) {
            for (int j = 0; j < array.length; j++) {
                //从大到小排列
                if(array[j] > array[i]){
                    swap = array[i];
                    array[i] = array[j];
                    array[j] = swap;
                }
            }
        }
  • while 实现的二分查找:
private static int ef(int[] arr,int key){
        int low = 0;
        int high = arr.length - 1;
        int middle = 0;         //定义middle

        if(key < arr[low] || key > arr[high] || low > high){
            return -1;
        }
        while(low <= high){
            middle = (low + high) / 2;
            if(arr[middle] > key){
                //比关键字大则关键字在左区域
                high = middle - 1;
            }else if(arr[middle] < key){
                //比关键字小则关键字在右区域
                low = middle + 1;
            }else{
                return middle;
            }
        }

        return -1;      //最后仍然没有找到,则返回-1
    }
  • 递归实现二分查找:
 public static int recursionSearch(int[] arr,int key,int low,int high){
        if(key < arr[low] || key > arr[high] || low > high){
            return -1;
        }
        int middle = (low + high) / 2;          //初始中间位置
        if(arr[middle] > key){
            return recursionSearch(arr,key,low,middle - 1);
        }else if(arr[middle] < key){
            return recursionSearch(arr,key,middle+1,high);
        }else{
            return middle;
        }
    }

相关文章

  • 算法与数据结构(二):排序篇-O(n^2)算法:选择 &

    排序基础 O(n^2)的算法虽然简单,但也实用!让我们从最简单的基础排序算法开始,打开我们的算法大门! 排序算法 ...

  • LZW压缩算法

    参考链接:超级简单的数据压缩算法—LZW算法压缩算法——lzw算法实现LZW算法 LZW 压缩算法正确图解

  • 简单算法

    冒泡排序: while 实现的二分查找: 递归实现二分查找:

  • 简单算法

    一、3种简单排序 3种排序方法时间复杂度都是n23种简单排序对 数组排序速度: 插入排序 > 选择排序 > 冒泡法...

  • 【简单算法】

    1.不用中间变量,用两种方法交换A和B的值 2.求最大公约数 3.不用内置函数求一个数的平方根 4.用最有效率的方...

  • 简单算法

    一、回文数说明:类似与"aaabaaa","ababa"等对称字符 二、数组去重说明:[1,2,3,4,5,1,7...

  • 简单算法

    面试算法题四部曲: clarification(询问题目细节,边界条件,可能的极端错误情况)。 Possible ...

  • 简单算法:

    快速排序 快速排序的最坏运行情况是 O(n²),比如说顺序数列的快排。但它的平摊期望时间是 O(nlogn),且 ...

  • 简单算法

    实现 trim 斐波那契数列 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1...

  • 《机器学习(周志华)》学习笔记(三)

    Q:机器学习中最简单的学习算法是什么? A:最简单的机器学习算法莫过于线性回归算法了。线性回归算法的基本形式如下:...

网友评论

      本文标题:简单算法

      本文链接:https://www.haomeiwen.com/subject/gofisftx.html