iOS常见算法(二分法 冒泡 选择 快排)[通俗易懂]

iOS常见算法(二分法 冒泡 选择 快排)

大家好,又见面了,我是全栈君。

二分法:
平均时间复杂度:O(log2n)
int halfFuntion(int a[], int length, int number)
 {
int start = 0;
int end = length – 1;
int index = 0;
while(start < end)
 {
index = start + (end – start)/2
if(a[index] == number){
return index;
 
} else if(a[index] < number){
start = index + 1;
 } else{
end = index – 1;
 }
 
}
return index;
 }


冒泡排序:

/**

 平均时间复杂度:O(n2)

 

 空间复杂度:O(1)  (用于交换)

 

 稳定性:稳定

 */

void paoFuntion(int a[], int length){

    for (int i = 0; i < length – 1; i++) {

        for (int j = 0; j < length – 1 – i; j++) {

            if (a[j] > a[j+1]) {

                int temp = a[j];

                a[j] = a[j+1];

                a[j+1] = temp;

            }

        }

    }

}



选择排序:

/**

 平均时间复杂度:O(n2)

 

 空间复杂度:O(1)  (用于交换和记录索引)

 

 稳定性:不稳定 (比方序列【5。 5, 3】第一趟就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)

 */

void chooseFuntion(int a[],int length){

    for (int i = 0; i < length – 1; i++) {

        for (int j = i + 1; j < length ; j++) {

            if (a[i] > a[j]) {

                int temp = a[j];

                a[j] = a[i];

                a[i] = temp;

            }

        }

    }

}


快排:点击打开链接

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116103.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 5分钟学会MySQL-this is incompatible with sql_mode=only_full_group_by错误解决方案[通俗易懂]

    5分钟学会MySQL-this is incompatible with sql_mode=only_full_group_by错误解决方案[通俗易懂]5分钟学会MySQL-"thisisincompatiblewithsql_mode=only_full_group_by"错误解决方案前言:一、原理层面这个错误发生在mysql5.7版本及以上版本会出现的问题…

    2022年5月26日
    29
  • android 分享 api「建议收藏」

    android 分享 api「建议收藏」android 分享 api

    2022年4月22日
    71
  • tomcat打印日志乱码,入库数据正常_tomcat输出日志乱码

    tomcat打印日志乱码,入库数据正常_tomcat输出日志乱码Tomcat后台日志乱码问题文章目录Tomcat后台日志乱码问题一、找到乱码原因二、Tomcat端乱码处理三、IDEA端设置小结一、找到乱码原因  基本上我们安装的windows系统本地语言都是中文,用的是GBK编码,而我们IDEA和Tomcat日志选择的是utf8编码,因此编码方式不一致造成了我们的中文乱码问题。二、Tomcat端乱码处理  既然原因已经找到了,接着就是解决问题了,分别设置IDEA和Tomcat的编码就ok了。先对Tomcat进行处理,如下:  1.找到Tomcat的安装目录

    2022年9月26日
    0
  • Tesseract与tess4j验证码识别

    Tesseract与tess4j验证码识别验证码,英文名CAPTCHA,全称叫做:全自动区分计算机和人类的图灵测试。验证码主要为了防一些不怀好意的人(程序猿),避免批量注册账户,暴力尝试多次登录失败等一些恶意行为。最经典的就是文字型的验证码:简单的文字型验证码容易被OCR识别,所以程序猿们让文字随机旋转、扭曲、黏连,在验证码上加干扰线、加噪点以降低自动化程序的识别率,但是很多扭曲变形的文字连人都识别不出来,比如中国移动这个验证…

    2022年6月11日
    33
  • 面试又给我问到MySQL索引【索引的实现原理】

    面试又给我问到MySQL索引【索引的实现原理】

    2022年2月15日
    49
  • java四舍五入成整数的方法

    java四舍五入成整数的方法    在java的Math类中,提供了许许多多的和数学计算有关的方法,其中也包括取整的,关于取整的有向下取整的floor(doubled)返回值double,rint(doubled),round(doubled)和round(floatf)。   但是,其中和四舍五入相近的方法只有rint和round方法,如果单独使用这两个方法的话,所得到的结果和我们预期的结果不一样,    比如r…

    2022年5月21日
    225

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号