
算法学习
ying______
这个作者很懒,什么都没留下…
展开
-
Java可运行程序-排序算法总结
交换排序算法一、介绍1、概念就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置。2、特点将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。二、常用算法冒泡排序、快速排序说明 :以下方法最后结果均按照升序排列用4,2,1,3,7,4,5,8,3,5序列进行测试1、冒泡排序(1)基本思想在n个待排序数组中选取待排序数列中的第一个元素x与第二...原创 2018-12-21 19:31:24 · 201 阅读 · 0 评论 -
464. 整数排序 II(排序算法)
问题给一组整数,请将其在原地按照升序排序。使用归并排序,快速排序,堆排序或者任何其他 O(n log n) 的排序算法。样例例1:输入:[3,2,1,4,5],输出:[1,2,3,4,5]。例2:输入:[2,3,1],输出:[1,2,3]。快速排序平均运行时间为O(NlogN),最坏的运行时间为O(N^2)一句话总结,就是通过交换实现关键字左边的元素不大于关键字,关键字右边的...原创 2020-02-20 10:40:55 · 452 阅读 · 0 评论 -
算法的时间复杂度
https://www.jianshu.com/p/f4cca5ce055a我们把 算法需要执行的运算次数 用 输入大小n 的函数 表示,即 T(n) 。此时为了 估算算法需要的运行时间 和 简化算法分析,我们引入时间复杂度的概念。定义:存在常数 c 和函数 f(N),使得当 N >= c 时 T(N) <= f(N),表示为 T(n) = O(f(n)) 。如图:N &g...转载 2019-12-09 20:39:30 · 184 阅读 · 0 评论