美文网首页
Android - 记录一些简单的算法

Android - 记录一些简单的算法

作者: xlq | 来源:发表于2018-12-05 01:04 被阅读0次

本人一直觉得,算法对于android应用开发来说并不是必须的。但是作为一个Java语言吃饭的人,掌握一些简单的算法,还是有必要的。

冒泡排序:

过程:
  1. 从后往前,相邻的两个数进行比较,若前面的数大于后面的数,则前面的数往后沉,后面的数往前冒。即交换位置。知道最前面的两个数字比较结束,则第一个数即为最小数。
  2. 重复上面的比较,对剩下的数据进行操作。
平均时间复杂度: O(n2)
代码实现:
public void MaoPao(int[] array){
    int temp;
    boolean flag;
    for(int i = 0; i < array.length - 1; i++){
        flag = false;
        for(int j = array.length - 1; j > i; j--){
            if (array[j] < array[j-1]){
                temp = array[j-1];
                array[j-1] = array[j];
                array[j] = temp;
                flag = true;
            }
        }
        if (!flag) break;
    }
}

选择排序:

过程:

长度为n的数组,首先整个循环一遍,选择出最小的数,与第一个数字交换。再循环n-1个数,选择最小的数,与第二个数交换。第n-1次遍历,找到最小的数值与第n-1个元素交换,排序完成。

平均时间复杂度:O(n2)
代码实现:
public void XuanZe(int[] array){
    for (int i = 0; i < array.length; i ++){
        int minIndex = i;
        for (int j = i+1; j < length-1; j ++){
            if (array[j] < array[minIndex]){
                minIndex = j;
            }
        }
        if (minIndex != i){
            int temp = array[i];
            array[i] = array[minIndex];
            array[minIndex] = temp;
        }
    }
}

插入排序:

过程:

假定第1个数已经排好序,现将后相邻的数在已经排好序的数组中从后往前遍历插入其中,如此反复,将全部排序完成。

平均时间复杂度:O(n2)
代码实现:
public void XuanZe(int[] array){
    int temp;
    for(int i = 1; i < array.length; i ++){
        for (int j = i; j > 0; j--){
            if (array[j] < array[j-1]){
                temp = array[j];
                array[j] = array[j-1];
                array[j-1] = temp;
            }
        }
    }
}

相关文章

  • Android - 记录一些简单的算法

    本人一直觉得,算法对于android应用开发来说并不是必须的。但是作为一个Java语言吃饭的人,掌握一些简单的算法...

  • Android 动画-Interpolator和TypeEval

    上篇已经简单介绍了Android的一些动画,当然也包括Property Animation动画,这次再来记录下In...

  • webRTC的一些皮毛

    最近需要用到vad,之前也有写过一些算法,有时间再写那些算法的想法,今天先简单记录一下webRTC的vad的开发过...

  • 「算法」Java 文件排序(名称、大小、时间)

    Android 文件浏览器中涉及到文件按照文件名称、文件大小、修改时间 ,记录其排序算法如下,方便日后简单修改参考使用:

  • Android GC 学习笔记

    阅读的文章:Android GC 原理探究 下面补充一些备注和笔记。 算法 复制算法 (Copying)图示: 标...

  • 算法可视化的Android实现

    算法可视化的Android实现 此项目主要是对一些经典的算法在Android上实现可视化的运行过程。项目目的是为了...

  • 工作记录---简单算法

    给字符串中每个字符中间插入字符

  • Android Studio 编译调用C++代码

    Android Studio NDK 开发 记录在Android Studio中NDK简单开发的步骤 用到的And...

  • 一些简单算法

    1、打印0-100之间的素数 2、求两个整数的最大公约数 3、给定一个字符串,输出本字符串中只出现一次并且最靠前的...

  • 一些算法记录

    1. 将十进制数字转换为26个字母代号。 必须从1开始。 1=A,26=Z。 27=AA,52=AZ。 此问题相当...

网友评论

      本文标题:Android - 记录一些简单的算法

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