
模板--数据结构
努力过
喜欢coding
展开
-
【数据结构】【堆排序】
这里是先建立最大堆,再从小到大输出堆元素。具体实现及其解释见代码。总结:像这样支持插入元素和寻找最大(小)值元素的数据结构称为优先队列。堆就是优先队列的实现,很大程度的降低了时间复杂度。另外Dijkstra算法每次找离源点最近的一个顶点也可以用堆来优化,使算法复杂度降到O((m+n)logn).具体实现见我另一篇博客堆排序实现dijsktra用堆排序来优化prime算法见博客堆排序优化的prime算原创 2017-08-03 16:52:46 · 264 阅读 · 0 评论 -
【数据结构】【并查集模板】
void init()//初始化函数 { int i; for(i = 1; i <= n; i ++) f[i] = i; return;}int find(int v)//查找根结点 { if(f[v] == v) return v; else { //这里是路径压缩,每次在函数返回时,把遇到的结点改为根结点的编号 //提高找到根结点的速度 f[v]原创 2017-07-24 09:19:54 · 335 阅读 · 0 评论