Dijkstra 优先队列优化
2012-08-17 19:26
393 查看
/* 建图用的邻接表,复杂度O(E*logE) */ struct pnode { int num; int len; pnode() {} pnode(int a, int b) : num(a), len(b) {} bool operator < (const pnode tmp) const { return len > tmp.len; } }; int dis ; bool vis ; int n; void bfs(int s) { priority_queue<pnode> q; q.push(pnode(s, 0)); pnode u; int v, i, res = inf; for(i = 0; i <= n; ++i) dis[i] = inf, vis[i] = false; dis[s] = 0; while(!q.empty()) { u = q.top(); q.pop(); if(u.len != dis[u.num]) continue; if(vis[u.num]) continue; vis[u.num] = true; for(i = head[u.num]; i != -1; i = g[i].next) { v = g[i].to; if(dis[v] > u.len + g[i].val) { dis[v] = u.len + g[i].val; q.push(pnode(v, dis[v])); } } } }
相关文章推荐
- uva10986 优先队列优化的Dijkstra
- csu 1808 地铁 dijkstra变形+优先队列优化
- UVa 10986 Sending email 优先队列优化的dijkstra 和 朴素dijkstra 效率对比
- 优先队列优化 dijkstra
- hdu1874(dijkstra解法优先队列优化)
- Dijkstra优先队列优化
- poj 2387(Dijkstra优先队列优化)
- Dijkstra优先队列优化
- 【bzo1579】拆点+dijkstra优先队列优化+其他优化
- 最短路--dijkstra+优先队列优化模板
- 优先队列优化Dijkstra-hdu2066
- 最短路练习10/poj/1511 Invitation Cards ,(两次spfa),(单源最短路,优先队列优化的Dijkstra)
- HDU2544(Dijkstra优先队列优化版)
- 蓝桥杯 算法训练 最短路 【SPFA队列优化 + dijkstra优先队列优化】
- HDU ~ 2544 ~ 最短路 (Dijkstra模板,常规版 and 优先队列优化版)
- hdu 1874 畅通工程续 dijsktra dijkstra+邻接表 优先队列 bellman-ford bellman-ford队列优化(基础题目,一步步优化)
- Dijkstra算法之优先队列优化版本 By ACReaper Dijkstra
- hdu 2066最短路 dijkstra 及其优先队列优化
- hdu 2680 dijkstra 使用优先队列优化
- hdu2544 最短路 dijkstra的使用优先队列优化的比较