博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python基础一 ------排序和查找算法
阅读量:6003 次
发布时间:2019-06-20

本文共 1085 字,大约阅读时间需要 3 分钟。

 插入排序;

       假设数组长度为n,先从第二个元素开始,与前一个元素比较,之后将较小的元素

    放在前面,现在前两个元素是有顺序的,这时取第三个元素,与前一个元素(也就是第二个)比较,较小的放在前面
    因为前面两个元素顺序已经排好,再将这个新进入到前面的较小元素与前面排好顺序的元素依次比较,直到找到合适位置插入
    举例:[9,4,3,1]
    顺序依次:-->[4,9,3,1]
                          -->[4,3,9,1]-->[3,4,9,1]
                              --[3,4,1,9]-->[3,1,4,9]-->[1,3,4,9]

代码

1 #-*-coding:utf-8 -*- 2  3  4 def insert_sort(lists): 5      6     print("原数据",lists) 7     num = len(lists) 8     for i in range(1,num): 9         key = lists[i]10         j = i-111         while(j>=0):12             if lists[j]>key:13                 lists[j+1] = lists[j]14                 lists[j] = key 15             print(lists)        16             j -=117     print("排序后",lists)18 19 insert_sort([9,4,3,1])

 

 冒泡排序:

1 def bubble_sort(lists): 2     print("排序前:冒泡排序",lists) 3     num = len(lists) 4     for i in range(0,num): 5         for x in range(i+1,num): 6             if(lists[x]

二分法查找:

代码实现

1 def binary_search(lists,e): 2     #二分法查找(必须是对于排序后的数组) 3     right = len(lists) 4     left = 0 5     while left<=right: 6         mid = int((right+left)/2) 7         if e

按顺序输出每个元素小标

 

转载于:https://www.cnblogs.com/ruoniao/p/6953686.html

你可能感兴趣的文章
穷举法解决旅行商问题
查看>>
Go语言标准库之JSON编解码
查看>>
winpcap 发送数据包
查看>>
cisco 出现 %Error opening tftp://255.255.255.255 错误解决办法
查看>>
VIM编辑器
查看>>
IE主页被篡改 地址框变灰
查看>>
linux上架设l2tp+ipsec ***服务器
查看>>
Facebook和用户界面会如何扭曲你说的话
查看>>
安卓混合开发之Cordova,NativeWebView两种实现
查看>>
git设置socks代理
查看>>
桶排序
查看>>
石化数字化交付
查看>>
如何用windows Live writer 撰写blog
查看>>
RHEL6入门系列之十九,硬盘分区与格式化
查看>>
Linux下升级 OpenSSH
查看>>
标准功能模块组件 -- 名片管理组件,C\S 版本的标准用例程序,可以参考权限实现方法...
查看>>
zygote进程图
查看>>
ldap快速配置
查看>>
docker之docker-machine用法
查看>>
IIS 7启用static JSON文件能POST方法
查看>>