![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
JINGchenxue
这个作者很懒,什么都没留下…
展开
-
2017面试算法题
用堆解决最小k个数/*class Solution {public: vector<int> GetLeastNumbers_Solution(vector<int> input, int k) { int len=input.size(); if(len<=0||k>len||k<=0) return vecto...原创 2018-03-15 13:45:22 · 313 阅读 · 0 评论 -
后台开发
作者:Oscarwin链接:https://www.zhihu.com/question/34574154/answer/253165162来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。C和C++语言基础参考书籍:《C++ primer》,《effective C++》,《STL源码解析》,《深度搜索C++对象模型》extern关键字作用static关键字作用vol...转载 2018-03-15 18:06:38 · 482 阅读 · 0 评论 -
动态规划
题目描述小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3.......这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。例如:N = 4,M = 24:4->6-&...原创 2018-03-09 12:28:48 · 109 阅读 · 0 评论 -
排序算法总结
十大经典排序算法0、排序算法说明0.1 排序的定义对一序列对象根据某个关键字进行排序。0.2 术语说明稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面;内排序:所有排序操作都在内存中完成;外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行;时间复杂度: 一个算法执行所耗费的时间。空间...转载 2018-03-12 14:58:27 · 140 阅读 · 0 评论 -
N个数比较排序算法
O(n2)冒泡排序:两两比较一次排序结果将最大的数排在了数组最后,缩小范围为0~N-2,直到排序完成.选择排序:每一次排序选择最小的数放在最前面。插入排序:位置0上的数与位置1上的数比较,小的放前面,后面的数依次与前面的数排序。O(nlogn)归并排序:将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。快速排序:通过...原创 2018-03-12 15:14:15 · 1651 阅读 · 0 评论 -
最小生成树算法模板
Prim算法 本文主要讲解的是Prim算法,该算法用于寻找最小生成树(MST)。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点,且其所有边的权值之和亦为最小。(上一篇博客是Kruskal算法,如果没学过的话建议先移步去学习Kruskal算法) Prim算法于1930年由捷克数学家沃伊捷赫•亚尔尼克发现;并在1957年由美国计算机科学家罗伯特•普里姆独立发现;1959年,...转载 2018-07-03 09:40:02 · 912 阅读 · 0 评论 -
Kruskal算法
本文主要讲的是Kruskal算法,这是一种常用的用于寻找最小生成树的算法,由Joseph Kruskal于1956年发表。它是贪心的思想,易于编写,而且效率很高。 何为“最小生成树”呢?在一给定的无向图G = (V, E)中,(u, v)代表连接顶点u与顶点v的边,而w(u, v)代表此边的权重。连接G中所有的点,且边集T为E的子集的树(无环图),称为G的生成树(Spanning Tree)...转载 2018-07-03 09:41:38 · 1292 阅读 · 0 评论