美文网首页
常见算法和排序

常见算法和排序

作者: APHOME_明 | 来源:发表于2019-02-22 17:08 被阅读0次
    
    冒泡排序原理和实现
    
        1)算法的概念
        2)时间复杂度和空间复杂度的概念    
        3)常见的排序算法和查找算法
    
    
    时间复杂度和空间复杂度的概念
    
        算法评定:
           1)算法分析的目的在于选择合适的算法和改进算法
           2)一个算法的评价主要从时间复杂度和空间复杂度来考虑
    
        时间复杂度:
           执行算法所需要的计算工作量。一般来说,计算机算法是问题规模n的函数f(n),算法的时间复杂度也因此记做T(n) = Of(n)
        问题的规模n越大,算法执行的时间增长率与f(n)的增长率相关,称作渐进时间复杂度
    
        时间复杂度计算方式
        O(n^2)、O(1)、O(n)、?
        步骤:
           1)得出算法的计算次数的公式
           2)用常数1来取代所有时间中的左右加法常数.
           3)在修改后的运行次数函数中,只保留最高阶项
           4)如果最高阶存在且不是1,则去除与这个项相乘的常数
    
        
        举例:
        常数阶:O(1)
        线性阶:O(n)
        平(立)方阶:O(n^2) / O(n^3)
        特殊平方阶:O(n^2/2+n/2)->O(n^2)
        对数阶:O(log2n)
        效率:O(1) > O(log2n) > O(n) > O(nlog2n) > O(n^2) > O(n^3) > O(2^n) > O(n!) > O(n^n)
    
    
        时间复杂度其他概念
           最坏情况:最坏的情况时的运行时间,一种保证,如果没有特别说明,说的时间复杂度即为最坏情况的时间复杂度。
           平均情况:期望的运行时间
    
    changj
        空间复杂度
           算法需要消耗的内存空间,记做:S(n) = O(f(n))
           包括程序代码所占用的空间,输入数据所有占用的空间和辅助变量所占用的空间这三个方面
           计算和表示方式与时间复杂度类似,一般用复杂度的渐进性来表示。
    
        空间复杂度的计算方式
           有时用空间来换取时间
           冒泡排序的元素交换,空间复杂度O(1)
    
    
    

    相关文章

      网友评论

          本文标题:常见算法和排序

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