• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python入门之算法学习

    前言

    参考学习书籍:《算法图解》[美]Aditya Bhargava,袁国忠(译)北京人民邮电出版社,2017

    二分查找 binary_search

    实现二分查找的python代码如下:

    def binary_search(list, item):
        low = 0 #最低位索引位置为0
        high = len(list)- 1 #最高位索引位置为总长度-1
        while low = high: 
            mid = (low + high)//2 #检查中间的元素,书上是一条斜杠,我试过加两条斜杠才行
            guess = list[mid]#python自动圆整
            if guess == item:  #找到了元素
                return mid
            if guess > item:  #猜的数字大了,就修改high
                high = mid - 1
            else:            #猜的数字小了,就修改low
                low = mid + 1
        return None   #没有指定的元素
    

    测试代码:

    >>> if __name__ == "__main__":#我试过加上好用
    	 my_list=[1,3,5,7,9]
    	 print (binary_search(my_list,3))#把binary_search也加上括号
    
    	 
    1#表示3的索引位置为1
    >>> if __name__ == "__main__":
    	 my_list=[1,3,5,7,9]
    	 print (binary_search(my_list,0))
    
    	 
    None#表示0不在列表中
    

    选择排序 selectionSort()

    实现选择排序的python代码如下:

    def findSmallest(arr):
        smallest = arr[0] 
        smallest_index =0
        for i in range(1,len(arr)):
            if arr[i]  smallest:
                smallest = arr[i]
                smallest_index= i
        return smallest_index
    
    def selectionSort(arr):
        newArr = []
        for i in range(len(arr)):
            smallest = findSmallest(arr)
            newArr.append(arr.pop(smallest))  
        return newArr
    

    测试代码:

    #样式1,把selcetionSort()作为新的值给arr,打印arr
    >>> number=[5,3,6,2,10]
    >>> arr=selectionSort(number)
    >>> arr
    [2, 3, 5, 6, 10]
    #样式2,加上if __name__ == '__main__':(我也不知道啥作用)
    >>> if __name__ == '__main__':
    	number=[5,3,6,2,10]
    	print(selectionSort(number))
    
    	
    [2, 3, 5, 6, 10]
    #样式3,直接输出,最简洁
    >>> number=[5,3,6,2,10]
    >>> print(selectionSort(number))
    [2, 3, 5, 6, 10]
    

    到此这篇关于python入门之算法学习的文章就介绍到这了,更多相关python算法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • python 算法题——快乐数的多种解法
    • python使用ProjectQ生成量子算法指令集
    • Python机器学习算法之决策树算法的实现与优缺点
    • Python集成学习之Blending算法详解
    • python3实现Dijkstra算法最短路径的实现
    • Python实现K-means聚类算法并可视化生成动图步骤详解
    • Python自然语言处理之切分算法详解
    • Python实现机器学习算法的分类
    上一篇:python使用XPath解析数据爬取起点小说网数据
    下一篇:python 破解加密zip文件的密码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python入门之算法学习 python,入门,之,算法,学习,