数据结构与算法
cning_123
这个作者很懒,什么都没留下…
展开
-
冒泡排序法 python
冒泡排序法从小到大排序,依次比较相邻两个元素list[i],list[i+1],将大的放到后面。比较一轮之后,最大的元素被换到末尾。设队列长度为n所以一共需要两两比较这个过程n-1轮 for j in range(0,n-1)----[0,n-2]一共n-1个数每次比较游标i需要比较到哪个位置呢?(最后一个元素的下标是n-1哦)j = 0 i = n-2 for i in...原创 2019-02-24 14:40:58 · 511 阅读 · 0 评论 -
选择排序法 python
每次选择元素中最小的元素,放在前面相当于这个列表被分成两部分,前部分是已经从小到大排好序的元素,后半部分还是乱的元素比如第一次,选择下标【0,n-1】的元素中最小的,将最小的元素与第一个元素交换位置第二次,选择下标【1,n-2】中元素最小的,将最小的元素与第二个元素交换位置所以,也是两轮循环第一轮循环是一共要从几轮数据中挑选最小的。第一次选出来的放在【0】位置,第二次选出来的放在【1】位...原创 2019-02-24 15:29:49 · 357 阅读 · 0 评论 -
插入排序法 python
列表被分为两部分,还是前半部分是排好序的,后半部分是还没有排序的。与选择排序法不同的是,插入排序每次选排好序的后面那个元素,依次从后向前与排好序的元素们进行比较大小。选择排序是从后面部分中找出最小的放到前面去。插入排序是将后面第一个元素在排好序的列表里面找合适的地方插入进去。所以需要一个循环控制每次获得乱序部分的第一个元素。一开始我们认为第一个元素本身就是一个排好序的部分,所以第一步是从...原创 2019-02-25 09:38:58 · 154 阅读 · 0 评论 -
希尔排序 python
希尔排序(shell sort)是插入排序的一种,也成为缩小增量排序,是直接插入排序算法的一种更高效的改进版本。基本思想:将数组列在一个表中并对列分别进行插入排序,重复这过程,不过每次用更长的列(步长更长了,列数更少了)来进行。最后整个表就只有一列了。将数组转换至表是为了更好地理解这算法,算法本身还是使用数组进行排序。时间复杂度:最优时间复杂度:根据步长序列的不同而不同最坏时间复杂度:O(...原创 2019-02-25 16:58:52 · 126 阅读 · 0 评论 -
python一些小知识记录
1.python2中,除法取整数是/;但在python3中,除法取整数是//;原创 2019-02-25 17:02:48 · 91 阅读 · 0 评论 -
快速排序法 python
#快速排序法 if start>=end: return alist low = start high = end base = alist[low] while low<high: #high左移 while low<high and alist[high]>=base:原创 2019-02-25 21:38:13 · 149 阅读 · 0 评论 -
经典排序算法比较
转载https://www.cnblogs.com/zhizhan/p/4549099.html转载 2019-03-09 16:57:12 · 132 阅读 · 0 评论