排序算法的稳定性 排序的稳定性,指原有数据相同值的原始次序不变。 可以: 冒泡排序遇到相等的数不交换即可做到稳定。 插入排序,遇到相等的数即停止比较,插入数组。 归并排序 merge 过程中,遇到相等的值先填入左区域的值就可以做到稳定。 不可以: 选择排序不能做到稳定性,选择数值的时候交换数字是会打 ...
分类:
编程语言 时间:
2019-11-20 12:16:42
阅读次数:
73
动态规划 —— 经分解得到的子问题往往不是互相独立的 一、基本思想:保存已解决的子问题的答案,在需要时再找出已求得的答案,这样可以避免大量的重复计算,从而得到多项式时间算法。为了达到此目的,可以用一个表来记录所有已解 决的子问题的答案,不管该子问题以后是否被用到,只要它被计算过就将其结果填入表中。 ...
分类:
其他好文 时间:
2019-11-04 00:14:35
阅读次数:
137
′问题描述: 最大间隙问题:给定 n 个实数 n x , x , , x 1 2 ? ,求这 n 个数在实轴上相邻 2 个数之间的最 大差值。假设对任何实数的下取整函数耗时O(1) ,设计解最大间隙问题的线性时间算法。 ′编程任务: 对于给定的 n 个实数 n x , x , , x 1 2 ? , ...
分类:
其他好文 时间:
2019-10-02 19:05:27
阅读次数:
75
参看文章: 《机器学习-周志华》 《机器学习实战-Peter Harrington》 《统计学习方法-李航》 算法介绍: k近邻学习是一种常用的监督学习方法,其工作机制如下,给定测试样本,基于某种距离度量(曼哈顿距离、欧氏距离、切比雪夫距离、Lp距离、Minkowski距离)找出训练集中与其最靠近的 ...
分类:
编程语言 时间:
2019-08-17 14:28:29
阅读次数:
119
简单的时间复杂度分析 O(1), O(n), O(lgn), O(nlogn), O(n^2) 简单地说:大O描述的是算法的运行时间和输入数据之间的关系 为什么要用大O ,叫做O(n)? 忽略常数。实际时间T=c1*n+c2 T=2*n+2 O(n) T=2000*n+10000 O(n) 渐进时间 ...
分类:
编程语言 时间:
2019-07-19 23:48:29
阅读次数:
106
Kosaraju算法 适用范围及时间复杂度 线性时间算法,找一个有向图的强连通分量(分量中所有点都是连通的)。 算法原理 首先有一个定义,名曰反图。何为反图?即将图中所有边反向操作。 上图样例即为一对反图。在整副图中,有三个强连通分量,即:1 2 5,3,4.如果把这副图所有边反向后,得到的同样是三 ...
分类:
编程语言 时间:
2019-03-02 10:42:06
阅读次数:
633
使用crontab 定时备份文件 1. 编辑crontab规则 2. 编写shell脚本 find -mtime +N/-N/N 的时间算法 参见:https://blog.csdn.net/yakoo5/article/details/17709561 ...
分类:
系统相关 时间:
2019-01-29 20:23:49
阅读次数:
198
# 序言## Fibonacci 数列多项式时间算法:```jsvar fib_arr = [0, 1];function fib(n){ if(n == 0){ return 0; }else if(n == 1){ return 1; } for (var i = 0; i =0时可用)func... ...
分类:
编程语言 时间:
2019-01-04 01:17:37
阅读次数:
166
内容包括: 1.实践题目: 输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 2.问题描述: 对于给定的n个非降序排列的整数,使用二分查找算法查找给定的x。如果能在这n个数中找到 ...
分类:
编程语言 时间:
2018-10-21 13:06:38
阅读次数:
151
最小栈 实现一个最小栈,一步一步优化,空间O(N) 时间O(1) 。 [算法优化] 时间复杂度O(1) 空间复杂度较上面一段代码减少。push,pop,top,getMin都是O(1)时间。 ...
分类:
其他好文 时间:
2018-10-17 17:43:59
阅读次数:
227