算法基础

Posted xuerh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法基础相关的知识,希望对你有一定的参考价值。

一 。  什么是算法?

   算法就是用系统的方法描述解决问题的策略机制,简单的来讲就是一个计算的过程,解决问题的方法。

 

二 。 算法的基本概念:

  (1)时间复杂度:  可以理解为用来评估算法运行效率的一个单位

 技术分享图片

        技术分享图片

   (2)常见的时间复杂度(按效率排序)

      技术分享图片

     (3)空间复杂度

           技术分享图片

           技术分享图片

              有时候为了提高效率 会采用空间换取时间的做法

三 .基础的算法

 (1)递归版的二分查找

 

def bin_search_rec(data_set, value, low, high):
       if low <= high:
        mid = (low + high) // 2
        if data_set[mid] == value:
            return mid
        elif data_set[mid] > value:
            return bin_search_rec(data_set, value, low, mid - 1)
        else:
            return bin_search_rec(data_set, value, mid + 1, high)
      else:
         return
            

 

  (2) 冒牌算法优化版

   

def bubble_sort_1(li):
    for i in range(len(li)-1):
        exchange = False
        for j in range(len(li)-i-1):
            if li[j] > li[j+1]:
                li[j], li[j+1] = li[j+1], li[j]
                exchange = True
        if not exchange:
            return

 

    

 

以上是关于算法基础的主要内容,如果未能解决你的问题,请参考以下文章

常用编程思想与算法

视频二次裁剪时间计算出原片的时间片段算法

视频二次裁剪时间计算出原片的时间片段算法

以下代码片段的算法复杂度

有人可以解释啥是 SVN 平分算法吗?理论上和通过代码片段[重复]

片段(Java) | 机试题+算法思路+考点+代码解析 2023