首页 / 算法 / python_基础算法
python_基础算法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python_基础算法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3072字,纯文字阅读大概需要5分钟。
内容图文
一、二分查找
1 def binary(binary_para, search): 2 bi = int(len(binary_para)/2) 3 if search == binary_para[0]: 4 print('数存在,并存在在列表第一位') 5 elif len(binary_para)>1: 6 if binary_para[bi] > search: 7 print('分段值(前):',binary_para[bi]) 8 binary(binary_para[:bi],search) 9 elif binary_para[bi] < search: 10 print('分段值(后):',binary_para[bi]) 11 binary(binary_para[bi:],search) 12 else: 13 print('你寻找的数存在列表里') 14 else: 15 print('列表里不存在你寻找的数') 16 17 if __name__ == '__main__': 18 li = list(range(8,30000,10)) 19 binary(li, 12138)
二、冒泡排序
1 def bub_sort(sort_list): 2 for i in range(len(sort_list)-2): 3 for j in range(len(sort_list)-i-1): 4 if sort_list[j]>sort_list[j+1]: 5 temp = sort_list[j+1] 6 sort_list[j+1] = sort_list[j] 7 sort_list[j] = temp 8 9 10 if __name__ == '__main__': 11 li = [65, 1, 45, 77, 3, 9, 43, 23, 7, 53, 213, 10] 12 bub_sort(li) 13 print(li)
三、选择排序
1 def select_sort(list_sort): 2 for i in range(len(list_sort)): 3 min_index = i 4 for j in range(i, len(list_sort)): 5 if list_sort[min_index] > list_sort[j]: 6 min_index = j 7 temp = list_sort[i] 8 list_sort[i] = list_sort[min_index] 9 list_sort[min_index]=temp 10 11 if __name__ == '__main__': 12 li = [65, 1, 45, 77, 3, 9, 43, 23, 7, 53, 213, 10] 13 select_sort(li) 14 print(li)
四、插入排序
1 def insert_sort(sort_list): 2 for i in range(1,len(sort_list)): 3 insert_index = i # 索引当做类似指针的使用 4 insert_value = sort_list[i] # 把要插入的值存下来,以免后面被覆盖 5 while insert_index > 0 and insert_value < sort_list[insert_index-1]: 6 sort_list[insert_index] = sort_list[insert_index-1] 7 insert_index -=1 8 sort_list[insert_index] = insert_value 9 10 if __name__ == '__main__': 11 li = [65, 1, 45, 77, 3, 9, 43, 23, 7, 53, 213, 10] 12 insert_sort(li) 13 print(li) 14
五、快速排序
图片来源:https://www.jianshu.com/p/5f38dd54b11f
1 def quick_sort(list_sort,start,end): 2 if start >= end: 3 return 4 start_index = list_sort[start] 5 left_flag = start 6 right_flag = end 7 8 while left_flag < right_flag: 9 10 while left_flag < right_flag and start_index <= list_sort[right_flag]: 11 right_flag -=1 12 list_sort[left_flag] = list_sort[right_flag] 13 14 while left_flag < right_flag and start_index >= list_sort[left_flag]: 15 left_flag += 1 16 list_sort[right_flag] = list_sort[left_flag] 17 18 list_sort[left_flag] = start_index 19 quick(list_sort, start, end, left_flag) # 递归调用 20 21 def quick(list_sort,start,end,left_flag): 22 quick_sort(list_sort,start,left_flag-1) 23 quick_sort(list_sort,left_flag+1,end) 24 25 if __name__ == '__main__': 26 li = [64, 77, 67, 8, 6, 84, 55, 20, 43, 67, 67] 27 quick_sort(li, 0, len(li) - 1) 28 print(li)
内容总结
以上是互联网集市为您收集整理的python_基础算法全部内容,希望文章能够帮你解决python_基础算法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。