![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
复习
文章平均质量分 57
Echo_咪
to feel rather than think.
展开
-
排序算法
关键词:插入冒泡选择、希尔归并快排、堆排序 倒着讲 1.堆排序 1.1有关堆与优先队列,看这里堆与优先队列 1.2堆排序的思想: 最大堆,每次把根从堆中取出来删去,然后从新建堆,并把取出来的元素放到数组的最后 那么最大的元素被放到n-1的位置,第二大的元素被放到n-2的位置。。。直到最后,数组就变成的由小到大的顺序 1.3算法复杂度 最好最差平均原创 2016-08-27 11:00:54 · 416 阅读 · 0 评论 -
单源最短路径算法
1.单源最短路径以及Dijsktra算法 2.多源最短路径以及Floyd算法 1.1单源最短路径: 即从一个特定的点出发,寻找这个点到其他点的最短路径 对于一个无权图,BFS算法就可以了。但是对于加权图,BFS行不通 1.2 Dijkstra(迪杰斯特拉):针对加权有向图、单源最短路径 dijkstra通过一个简单的动态规划思想来求最短路径。 (假设求从点s出的的单源原创 2016-08-26 15:40:24 · 3319 阅读 · 0 评论 -
简单图+Havel_Hakimi定理
1.什么是简单图: 没有平行边和自环 什么是平行边?对于无向图,如果两个点之间有一条以上的边,则这些边是平行边; 对于有向图,如果一个点指向另一个点的边多于一条,则这些边是平行边 什么是自环?边的两个端点是同一个点 2.度序列 一个由图的各个点的度数组成的序列 3.Havel_Hakimi定理:用于判断一个度序列能否转换成一个简单图 流程:度序列按原创 2016-08-21 15:24:38 · 1037 阅读 · 0 评论 -
qsort的使用
原地址 CPlusPlus function qsort void qsort (void* base, size_t num, size_t size, int (*compar)(const void*,const void*)); Sort elements of array Sorts the num elem原创 2016-08-21 15:42:17 · 248 阅读 · 0 评论 -
补充
1.cin读取字符串遇到空白会停止,并在末尾加上\0原创 2016-09-03 08:58:28 · 216 阅读 · 0 评论 -
最小生成树
1.MST(Minimum spanning tree) A minimum spanning tree is a spanning tree of a connected,undirected graph. It connects all the verticals together with the minimum total weighting for it's edges. 最小生原创 2016-08-26 14:08:26 · 367 阅读 · 0 评论 -
判断图中是否存在环
参考博客:xwdreamer的专栏 1.对于无向图,有以下三种方法 剪枝、无环连通分支边数m 1.1剪枝 1删除所有度数为0的点 2把所有度数为1的点入队 3.从队列中取出一个点,删除这个点,并且所有与这个点相关联的点的度数都减1 4.重复步骤2、3 直到队列为空 如果还有为被删除的点,说明存在环 1.2无环连通分支边数m 通过BFS,DFS可以得到图的连原创 2016-08-26 17:11:08 · 2410 阅读 · 0 评论 -
堆与优先队列
1.针对的问题:很快的找出最大的元素(最大堆)、很快的找出最小的元素(最小堆) 它不适用于从一堆数中检索某一个数 如何去定义一个堆?抓住两点: 完全二叉树、任何一个内部结点的值大于等于其子节点的值 一个堆一定是完全二叉树的形式:节约空间、可以很方便的用数组表示 最大堆:根大于等于任何一个子节点(堆原创 2016-08-27 10:06:55 · 359 阅读 · 0 评论