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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DataFormatString格式

    DataFormatString格式DataFormatString=”{0:F}”格式字符串输入结果”{0:C}”12345.6789$12,345.68″{0:C}”-12345.6789($12,345.68)”{0:D}”1234512345″{0:D8}”12345…

    2025年6月26日
    2
  • jar包和war包区别及理解

    jar包和war包区别及理解在开发阶段不适合使用war包,因为在开发阶段,经常需要添加或删除Web应用程序的内容,更新Servlet类文件,而每一次改动后,重新建立war包将是一件浪费时间的事情。在产品发布阶段,使用war文件比较合适的,因为在这个时候,几乎不需要再做什么改动了。jar包jar是类的归档文件JAR(JavaArchive,Java归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件,为J2EE应用程序创建的jar文件是EAR文件(企业jar文件),jar文件格式以流行的ZIP文

    2022年5月24日
    33
  • BP神经网络预测模型(神经网络算法模型)

    学习率一般在(0,0.1)区间上取值.隐含层节点数量(√为开根号):①m=(√(i+j))+α②m=log2(i)③m=√(i*j)m:隐含层节点i:输入层节点数j:输出层节点数α:1-10之间的常数

    2022年4月11日
    59
  • vm安装ubuntu时一直没反应_虚拟机安装ubuntu系统要多久

    vm安装ubuntu时一直没反应_虚拟机安装ubuntu系统要多久这**加粗样式**里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学

    2022年9月30日
    2
  • double保留小数点后两位_double截取两位小数

    double保留小数点后两位_double截取两位小数publicclassDoubleTest{//保留两位小数第三位如果大于4会进一位(四舍五入)doublef=6.23556;/***使用精确小数BigDecimal*/publicvoidfun1(){BigDecimalbg=newBigDecimal(f);/…

    2022年10月20日
    4
  • SQL的单表查询

    SQL的单表查询

    2021年7月20日
    56

发表回复

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

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