1. 排序 1.1 冒泡排序 1.2 选择排序 1.3 插入排序 1.4 希尔排序 1.5 快速排序 1.6 归并排序 2. 搜索 1. 排序 排序算法(英语:Sorting algorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。 排序算法的稳定性 稳定性:稳定排序算法会让原本有相等 ...
分类:
编程语言 时间:
2020-04-09 00:41:32
阅读次数:
85
nums = [1,9,8,5] print(nums) print(" ") length = len(nums) for i in range(length-1): maxindex = i for j in range(i+1,length): if nums[j] > nums[maxind ...
分类:
编程语言 时间:
2020-04-08 12:14:36
阅读次数:
59
算法 1、排序算法 冒泡排序 选择排序 插入排序 快速排序 希尔排序 计数排序 2、列表查找 从列表中查找指定的元素 顺序查找 从列表第一个元素开始,顺序进行搜索,直到找到为止 二分查找 从有序列表的候选区data[0: n]开始,通过对待查找的值与候选区中的值比较使候选区的值减半 数据结构与算法动 ...
分类:
编程语言 时间:
2020-04-07 09:58:34
阅读次数:
98
一、选择排序 选择排序是每次从未排序的部分选出一个最小的数字,放在已排序部分的最后,即每次选出最小的、第二小的,以此类推。当然,也可以每次从未排序的地方选出最大的数字,放在已排序部分的最前面,即每次选出最大的、第二大的,以此类推。 时间复杂度O(n^2)。 优点是交换次数最少。 代码: def se ...
分类:
编程语言 时间:
2020-04-06 11:55:02
阅读次数:
69
稳定性排序:稳定性排序是指相等的元素相对位置不会发生改变。 以下介绍一系列排序算法:以非降序排列为序; 选择排序:遍历i,求[i,n)中的最小值,与A[i]交换; 时间复杂度O(N^2) void selection_sort(vector<int>& num) { int len = num.si ...
分类:
编程语言 时间:
2020-04-05 11:51:03
阅读次数:
70
1.算法基础之冒泡排序,选择排序,插入排序,快排序 ...
分类:
编程语言 时间:
2020-04-03 01:02:41
阅读次数:
279
1.引子 1.1.为什么要学习数据结构与算法? 有人说,数据结构与算法,计算机网络,与操作系统都一样,脱离日常开发,除了面试这辈子可能都用不到呀! 有人说,我是做业务开发的,只要熟练API,熟练框架,熟练各种中间件,写的代码不也能“飞”起来吗? 于是问题来了:为什么还要学习数据结构与算法呢? #理由 ...
分类:
编程语言 时间:
2020-04-01 13:03:19
阅读次数:
85
基础算法 [toc] 交换 选择排序 递归排列组合 ...
分类:
编程语言 时间:
2020-03-30 23:11:13
阅读次数:
80
程序如下: def selection_sort(alist): n=len(alist) for i in range(n-1):#到n-1停止是因为最后一个肯定是最大的无须比较 min_index=i for k in range(i+1,n):#到n停止是因为到最后一个不一定是最小的,所以需要 ...
分类:
编程语言 时间:
2020-03-30 15:52:38
阅读次数:
58