zoukankan      html  css  js  c++  java
  • 排序算法比对,插入算法和冒泡算法

    插入算法:

    先贴上代码如下

    #coding:utf-8
    
    """
    插入算法 -- 原列表下每单个数对整个列表的比较并找到最合适位置,只需定义一个变量
    """
    
    a = [3, 2, 4, 1, 5]
    
    
    def inSort(list1):
        if len(list1) == 0:
            return
        # k = 1
        # for i in (1, len(list1)):
        for i in range(1, len(list1)):
            b = list1[i]
            cc = i - 1
            while cc >=0:
                if b < list1[cc]:
                    list1[cc+1] = list1[cc]
                else:
                    break
                cc -= 1
            list1[cc + 1] = b
            print(list1)
    
        print(list1)
    
    inSort(a)
    # sorted(a)
    
            
            

    冒泡算法代码如下

    #coding:utf-8
    
    """
    冒泡算法-- 相邻两数比较, 需要定义三个变量
    """
    
    a = [3, 2, 4, 1, 5]
    
    
    def inSort(list1):
        len1 = len(list1)
        for i in range(len1-1):
            j = i + 1
            # for j in range(0, i+1):
            #     a = list1[i]
            #     b = list1[j]
            #     if list1[i] > list1[j]:
            #         list1[i] = b
            #         list1[j] = a
            # print(j)
            # print(list1[j])
            while j > 0 :
                a = list1[j]
                b = list1[j-1]
                # print(a,b)
                if a < b:
                    list1[j] = b
                    list1[j-1] = a
                else:
                    break
                j -= 1
            # print(list1)
        print(list1)
    
    
                
    
    
    inSort(a)
    # sorted(a)
    
            
            

    示例代码如上,结论:插入算法更快切稳定

    理由:

       1、定义参数个数,冒泡3个,插入1个,当数据量大时,执行代码时参数多的开销越大耗时也越久。

  • 相关阅读:
    Redis 数据类型
    python的图形化界面
    python文件操作
    持续集成(Continuous Integration)
    MySQL理解索引、添加索引的原则
    Perl中的字符串操作函数
    PHP常用函数大全
    Javascript 中 Array的 sort()和 compare()方法
    使用Composer管理PHP依赖关系
    一致性 Hash 算法
  • 原文地址:https://www.cnblogs.com/fengzaoye/p/13575991.html
Copyright © 2011-2022 走看看