![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
Wthpy
这个作者很懒,什么都没留下…
展开
-
插入排序(python)
插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序是指在待排序的元素中,假设前面n-1(其中n>=2)个数已经是排好顺序的,现将第n个数插到前面已经排好的序列中,然后找到合适自己的位置,使得插入第n个数的这个序列也是排好顺序的。按照此法对所有元素进行插入,直到整个序列排为有序的过程,称为插入排序在插入排序中,当待排序数组是有序时,是最优的情况,只需当前数跟前一原创 2020-10-31 22:00:35 · 1036 阅读 · 0 评论 -
快速排序(python)
有一个a = [ 2,4,3,1,2 ]第一个数为2剩下的小于或者等于2的[1,2]放在左边大于的[4,3]放在右边就是[1,2] + [2] + [4,3]再把左边的和右边的都再排一次[1,2]1,左边:没有右边:2[1,2][4,3]4左边:3右边:没有[3,4]再加起来[1,2,2,3,4]就像这样一直重复,再注意一下停止循环条件,就能完成排序在平均情况下,快速排序的运行时间为O(n log n)。def func(ar原创 2020-10-17 21:41:18 · 98 阅读 · 0 评论 -
选择排序
就是,有一个,a = [2,3,1,5,0]把最小的找出来和第一个交换位置a = [0,3,1,5,2]然后,除开第一个数,在剩余的里面再找最小的0[ 3,1,5,2 ] > [ 1,3,5,2 ][0,1,3,5,2]然后,重复def func(a): for n in range(len(a)-1): minl = a[n:].index(min(a[n:]))+n a[n],a[minl] = a[minl原创 2020-10-11 08:43:06 · 63 阅读 · 0 评论 -
二分查找(python)
原文(菜鸟教程):https://www.runoob.com/python3/python-binary-search.htmlPython 二分查找二分搜索是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。需要先排序# 返回转载 2020-07-23 14:45:07 · 168 阅读 · 0 评论