# 二分法查找 有序序列中的值
def binary_search(sorted_seq, val):
"""复杂度 O(log(N))"""
if not len(sorted_seq):
return 'Not Find'
low = 0
high = len(sorted_seq) - 1
while low <= high:
mid = (high + low) // 2
if sorted_seq[mid] == val:
return mid
elif sorted_seq[mid] > val: # 说明 在 low - mid
high = mid - 1
else: # 说明 在 mid - high
low = mid + 1
# 如果还存在特殊情况? val 不在其中的时候 比如 【1,3,4】 val=2
if sorted_seq[low] == val:
return low
else:
return 'Not Find'
# 冒泡排序
def bubble_sort(seq):
"""
拿出一个数 和其余的数目依次比较 如果 发现大于其中的一个数 就立刻互换位置 复杂度 O(n^2)
:param seq:
:return:
"""
n = len(seq)
for i in range(n):
for j in range(n-1):
if seq[i] > seq[j]:
seq[i], seq[j] = seq[j], seq[i]
# 插入排序
def insertion_sort(seq):
"""一次拿出一个数 到 已经排序的数组里面 按顺序插入"""
n = len(seq)
for i in range(1, n):
cur_val = seq[i]
cur_pos = i
# 向左遍历查找 发现小于的就互换位置
while cur_pos and cur_val < seq[cur_pos - 1]:
seq[cur_pos] = seq[cur_pos - 1]
cur_pos -= 1 # 继续向左偏移
seq[cur_pos] = cur_val
# 归并排序
def merge_sort(seq):
""" 分解元素 分别排序 最后合在一起 复杂度 O(nlogn)"""
n = len(seq)
if n < 2:
return seq
l_arr = seq[:n//2]
r_arr = seq[n//2:]
new_l_arr = merge_sort(l_arr)
new_r_arr = merge_sort(r_arr)
new_array = []
while 1:
if not len(new_l_arr):
new_array += new_r_arr
return new_array
if not len(new_r_arr):
new_array += new_l_arr
return new_array
if new_r_arr[0] < new_l_arr[0]:
new_array.append(new_r_arr[0])
new_r_arr.pop(0)
else:
new_array.append(new_l_arr[0])
new_l_arr.pop(0)
if __name__ == '__main__':
seq = [1,7,4,2,5,3,9,6,8]
src = merge_sort(seq)
print(src)
相关资讯
相关文章内容简介
1 代理IP中爬虫Python 常见排序查找算法-二分法,归并,冒泡,
# 二分法查找 有序序列中的值def binary_search(sorted_seq, val): """复杂度 O(log(N))""" if not len(sorted_seq): return 'Not Find' low = 0 high = len(sorted_seq) - 1 while low <= high: mid = (high + low) // 2 if sorted_seq[mid] == [阅读全文]
推荐阅读
10
2019-07
用代理IP注册怎么样?
在互联网迅速发展的今天,一些新兴的词汇常以极快的速度占领着网络,比如说http代理,就是现在网络上比较火热的一个词,主要应用于网络业务方面,比如注册,投票,抢购,发帖。对于http
25
2019-04
使用高匿代理IP怎样完全不暴露本机身份?
高匿IP理论上不会暴露你的本机身份的,这是由高匿IP的属性决定的:
21
2019-09
代理ip对营销好处
如今,为用户提供的免费代理ip服务使用人数在不断的增高,而且用户对提供的 http代理 服务赞不绝口。这不仅是提供的免费代理ip服务得到大众的认可,更是免费代理ip逐渐被用户认可和接受的
19
2019-09
代理ip软件在销售中的作用
近期被很多用户所推荐的黑洞代理服务,就非常适合普通用户使用。其次这种平台它拥有着自动换ip地址的功能,用户可以享受一劳永逸的服务,即使是对平台并不了解的用户也不用担心如何设
15
2019-09
私密代理ip的高效性
如今互联网走进了每家每户,电脑和手机更是不用说。很多人都会在日常生活中收到陌生用户发来的网址或者是一些陌生信息。这些陌生信息中一边都存在着一些风险,有些防范心不高的用户不
03
2019-07
商业价值的代理ip有哪些?
在互联网和移动互联网的大趋势下,企业身处社会化和产业链环节中,让数据流动起来,实现基于数据集成和数据驱动的营销-销售一体化,是企业数字化转型得以突破的关键。面对这种形式,ip
热门文章
注意: 严禁一切违规违法的业务,一经发现直接封帐号
Powered by wanchen tech. © | 粤ICP备18047396号-6 广州万宸软件科技有限公司http代理 版权所有