算法
文章平均质量分 86
白菜喵
兴趣和工作如何并存?
展开
-
排序算法--冒泡排序
如何分析一个「排序算法」 执行效率 ① 最好、最坏、平均时间复杂度 在分析算法的好坏时,要分别说出最好、最坏、平均时间复杂度的同时,也要说出最好、最坏时间复杂度对应排序的原始数据是什么样的。 ② 复杂度系数、常数、低阶 时间复杂度反应的是数据规模 n 很大的时候的一个增长趋势,它表示的时候会忽略系数、常数、低阶 ,小规模数据除外。 ③ 比较次数和移动次数 基于比较的排序算法,在分析算法效率时,...原创 2018-11-03 23:49:19 · 148 阅读 · 0 评论 -
排序算法--插入排序
1.算法思想 我们将元素分为两个区间,未排序区间和已排序区间。我们要做的就是在未排序区间取出元素与已排序区间元素进行比较插入到适当位置,以此类推,直到未排序区间元素为空为止,就是走到最后一个元素,第一次取第二个元素,所以循环了n-1趟,走i-1次.) 默认第一个元素为已排序区间,才能开始进行 顺序为从后向前比较 取一个出来,和前面的比较,如果大于,则前面的整体移动一位,最后取出来的插入到适当的位...原创 2018-11-04 01:16:17 · 186 阅读 · 0 评论 -
排序算法--选择排序
1.算法思想 将在未排序期间寻找到最小的数据,并将其放到已排好区间的元素的尾部。 循环n-1趟,每一趟走[i-1,n-1]次,从前往后比较 先设未排序区第一个数(就是每一趟的i)是最小,然后找出最小值,然后放到排序区尾部(和i的位置交换) 关键点:有序区,无序区 i的含义很大 第几趟,排序区的个数,未排序区的第一个元素下标 2.代码实现 python版: def selectSort(arr)...原创 2018-11-05 00:42:56 · 170 阅读 · 0 评论