当前位置: 首页 > news >正文

php网站外包软件外包开发保密协议

php网站外包,软件外包开发保密协议,找生意做去哪个网站,个人免费注册公司网站最短路径问题 -返回c/c蓝桥杯经典编程题100道-目录 目录 最短路径问题 一、题型解释 二、例题问题描述 三、C语言实现 解法1#xff1a;Dijkstra算法#xff08;正权图#xff0c;难度★★#xff09; 解法2#xff1a;Bellman-Ford算法#xff08;含负权边返回c/c蓝桥杯经典编程题100道-目录 目录 最短路径问题 一、题型解释 二、例题问题描述 三、C语言实现 解法1Dijkstra算法正权图难度★★ 解法2Bellman-Ford算法含负权边难度★★★ 四、C实现 解法1Dijkstra算法优先队列优化难度★★☆ 解法2Floyd-Warshall算法多源最短路径难度★★★ 五、总结对比表 六、特殊方法与内置函数补充 1. C STL的优先队列 2. 动态规划思想 3. 负权环检测 一、题型解释 最短路径问题是图论中的核心问题目标是找到图中两点间权重和最小的路径。常见题型 单源最短路径求某一点到其他所有点的最短路径如Dijkstra、Bellman-Ford算法。 多源最短路径求所有点对之间的最短路径如Floyd-Warshall算法。 特殊场景 含负权边的最短路径Bellman-Ford。 含负权环的检测Bellman-Ford扩展。 边权为1的图BFS优化。 二、例题问题描述 例题1单源正权图 输入图的邻接矩阵起点为A。 输出A到各顶点的最短距离如A→D的最短距离为5。 例题2含负权边 输入带负权边的图检测是否存在负权环。 输出若存在环返回false否则返回最短路径。 例题3多源最短路径 输入任意两点间的最短距离矩阵。 输出更新后的最短距离矩阵。 三、C语言实现 解法1Dijkstra算法正权图难度★★ 通俗解释 贪心策略每次选择当前距离起点最近的节点逐步扩展最短路径集合。 适用条件边权非负。 c #include stdio.h #include limits.h#define V 6 // 顶点数int minDistance(int dist[], int visited[]) {int min INT_MAX, min_index;for (int v 0; v V; v)if (!visited[v] dist[v] min)min dist[v], min_index v;return min_index; }void dijkstra(int graph[V][V], int src) {int dist[V]; // 存储最短距离int visited[V]; // 记录节点是否已处理for (int i 0; i V; i)dist[i] INT_MAX, visited[i] 0;dist[src] 0; // 起点到自身距离为0for (int count 0; count V - 1; count) {int u minDistance(dist, visited); // 选取未处理的最小距离节点visited[u] 1;// 更新相邻节点的距离for (int v 0; v V; v)if (!visited[v] graph[u][v] dist[u] ! INT_MAX dist[u] graph[u][v] dist[v])dist[v] dist[u] graph[u][v];}// 输出结果printf(顶点\t距离\n);for (int i 0; i V; i)printf(%d\t%d\n, i, dist[i]); }int main() {int graph[V][V] {{0, 4, 0, 0, 0, 0},{4, 0, 8, 0, 0, 0},{0, 8, 0, 7, 0, 4},{0, 0, 7, 0, 9, 14},{0, 0, 0, 9, 0, 10},{0, 0, 4, 14, 10, 0}};dijkstra(graph, 0);return 0; } 代码逻辑 初始化距离数组dist设为无穷大起点距离为0。 循环处理每次选择未访问的最小距离节点更新其邻居的距离。 时间复杂度O(V²)适合稠密图。 解法2Bellman-Ford算法含负权边难度★★★ 通俗解释 松弛操作通过多次迭代所有边逐步逼近最短路径。 附加功能可检测负权环。 c #include stdio.h #include limits.h#define E 8 // 边数 #define V 5 // 顶点数struct Edge {int src, dest, weight; };void bellmanFord(struct Edge edges[], int src) {int dist[V];for (int i 0; i V; i)dist[i] INT_MAX;dist[src] 0;// 松弛所有边V-1次for (int i 1; i V - 1; i) {for (int j 0; j E; j) {int u edges[j].src;int v edges[j].dest;int w edges[j].weight;if (dist[u] ! INT_MAX dist[u] w dist[v])dist[v] dist[u] w;}}// 检测负权环for (int j 0; j E; j) {int u edges[j].src;int v edges[j].dest;int w edges[j].weight;if (dist[u] ! INT_MAX dist[u] w dist[v]) {printf(图中存在负权环\n);return;}}// 输出结果printf(顶点\t距离\n);for (int i 0; i V; i)printf(%d\t%d\n, i, dist[i]); }int main() {struct Edge edges[E] {{0, 1, -1}, {0, 2, 4}, {1, 2, 3},{1, 3, 2}, {1, 4, 2}, {3, 2, 5},{3, 1, 1}, {4, 3, -3}};bellmanFord(edges, 0);return 0; } 代码逻辑 初始化所有距离设为无穷大起点为0。 松弛操作进行V-1轮边遍历更新距离。 负权环检测若第V轮仍有更新说明存在负权环。 时间复杂度O(VE)适合稀疏图。 四、C实现 解法1Dijkstra算法优先队列优化难度★★☆ 通俗解释 使用优先队列快速获取最小距离节点时间复杂度优化至O((VE)logV)。 cpp #include iostream #include vector #include queue #include climits using namespace std;typedef pairint, int pii; // {距离, 节点}void dijkstra(vectorvectorpii graph, int src) {int V graph.size();vectorint dist(V, INT_MAX);priority_queuepii, vectorpii, greaterpii pq;dist[src] 0;pq.push({0, src});while (!pq.empty()) {int u pq.top().second;int d pq.top().first;pq.pop();if (d dist[u]) continue; // 跳过旧数据for (auto edge : graph[u]) {int v edge.first;int w edge.second;if (dist[u] w dist[v]) {dist[v] dist[u] w;pq.push({dist[v], v});}}}cout 顶点\t距离 endl;for (int i 0; i V; i)cout i \t dist[i] endl; }int main() {int V 5;vectorvectorpii graph(V);graph[0].push_back({1, 4});graph[0].push_back({2, 1});graph[1].push_back({3, 2});graph[2].push_back({1, 1});graph[2].push_back({3, 5});graph[3].push_back({4, 3});dijkstra(graph, 0);return 0; } 代码逻辑 优先队列存储{距离, 节点}自动按距离排序。 懒惰删除当队列中的距离大于记录的距离时跳过。 STL使用vector存邻接表priority_queue实现最小堆。 解法2Floyd-Warshall算法多源最短路径难度★★★ 通俗解释 动态规划通过中间节点逐步优化所有点对的最短路径。 cpp #include iostream #include vector using namespace std;#define INF INT_MAXvoid floydWarshall(vectorvectorint graph) {int V graph.size();vectorvectorint dist graph;for (int k 0; k V; k)for (int i 0; i V; i)for (int j 0; j V; j)if (dist[i][k] ! INF dist[k][j] ! INF)dist[i][j] min(dist[i][j], dist[i][k] dist[k][j]);// 输出结果cout 最短路径矩阵 endl;for (int i 0; i V; i) {for (int j 0; j V; j)cout (dist[i][j] INF ? INF : to_string(dist[i][j])) \t;cout endl;} }int main() {vectorvectorint graph {{0, 5, INF, 10},{INF, 0, 3, INF},{INF, INF, 0, 1},{INF, INF, INF, 0}};floydWarshall(graph);return 0; } 代码逻辑 初始化距离矩阵直接复制图的邻接矩阵。 三重循环依次考虑每个中间节点k更新所有i→j路径。 时间复杂度O(V³)适合小规模图。 五、总结对比表 算法时间复杂度空间复杂度适用场景DijkstraO((VE)logV)O(V)正权图单源最短路径Bellman-FordO(VE)O(V)含负权边的单源最短路径Floyd-WarshallO(V³)O(V²)多源最短路径 六、特殊方法与内置函数补充 1. C STL的优先队列 作用快速获取最小元素用于优化Dijkstra算法。 语法priority_queueT, Container, Compare需头文件queue。 2. 动态规划思想 Floyd-Warshall核心dist[i][j] min(dist[i][j], dist[i][k] dist[k][j])。 3. 负权环检测 Bellman-Ford扩展若第V次迭代仍有更新则存在负权环。 -返回c/c蓝桥杯经典编程题100道-目录
文章转载自:
http://www.morning.zphlb.cn.gov.cn.zphlb.cn
http://www.morning.bpwfr.cn.gov.cn.bpwfr.cn
http://www.morning.enjoinfo.cn.gov.cn.enjoinfo.cn
http://www.morning.ttnfc.cn.gov.cn.ttnfc.cn
http://www.morning.wbfg.cn.gov.cn.wbfg.cn
http://www.morning.iznek.com.gov.cn.iznek.com
http://www.morning.rqlqd.cn.gov.cn.rqlqd.cn
http://www.morning.khzml.cn.gov.cn.khzml.cn
http://www.morning.pkwwq.cn.gov.cn.pkwwq.cn
http://www.morning.rstrc.cn.gov.cn.rstrc.cn
http://www.morning.qlckc.cn.gov.cn.qlckc.cn
http://www.morning.bklkt.cn.gov.cn.bklkt.cn
http://www.morning.wwznd.cn.gov.cn.wwznd.cn
http://www.morning.njstzsh.com.gov.cn.njstzsh.com
http://www.morning.nqlkb.cn.gov.cn.nqlkb.cn
http://www.morning.zlnyk.cn.gov.cn.zlnyk.cn
http://www.morning.qcztm.cn.gov.cn.qcztm.cn
http://www.morning.mgskc.cn.gov.cn.mgskc.cn
http://www.morning.xjmyq.com.gov.cn.xjmyq.com
http://www.morning.wmfh.cn.gov.cn.wmfh.cn
http://www.morning.lywys.cn.gov.cn.lywys.cn
http://www.morning.clbsd.cn.gov.cn.clbsd.cn
http://www.morning.khfk.cn.gov.cn.khfk.cn
http://www.morning.lkwyr.cn.gov.cn.lkwyr.cn
http://www.morning.gjqwt.cn.gov.cn.gjqwt.cn
http://www.morning.qdxwf.cn.gov.cn.qdxwf.cn
http://www.morning.wfzlt.cn.gov.cn.wfzlt.cn
http://www.morning.wcft.cn.gov.cn.wcft.cn
http://www.morning.swsrb.cn.gov.cn.swsrb.cn
http://www.morning.skqfx.cn.gov.cn.skqfx.cn
http://www.morning.dlwzm.cn.gov.cn.dlwzm.cn
http://www.morning.cwpny.cn.gov.cn.cwpny.cn
http://www.morning.bpmz.cn.gov.cn.bpmz.cn
http://www.morning.ynwdk.cn.gov.cn.ynwdk.cn
http://www.morning.qpnmd.cn.gov.cn.qpnmd.cn
http://www.morning.qcymf.cn.gov.cn.qcymf.cn
http://www.morning.ydnx.cn.gov.cn.ydnx.cn
http://www.morning.mwmxs.cn.gov.cn.mwmxs.cn
http://www.morning.dhwyl.cn.gov.cn.dhwyl.cn
http://www.morning.stbhn.cn.gov.cn.stbhn.cn
http://www.morning.pbsfq.cn.gov.cn.pbsfq.cn
http://www.morning.qxlyf.cn.gov.cn.qxlyf.cn
http://www.morning.dbrnl.cn.gov.cn.dbrnl.cn
http://www.morning.nfdty.cn.gov.cn.nfdty.cn
http://www.morning.qsfys.cn.gov.cn.qsfys.cn
http://www.morning.qnlbb.cn.gov.cn.qnlbb.cn
http://www.morning.lzph.cn.gov.cn.lzph.cn
http://www.morning.qlhwy.cn.gov.cn.qlhwy.cn
http://www.morning.zqwp.cn.gov.cn.zqwp.cn
http://www.morning.knlbg.cn.gov.cn.knlbg.cn
http://www.morning.rwzmz.cn.gov.cn.rwzmz.cn
http://www.morning.wkcl.cn.gov.cn.wkcl.cn
http://www.morning.xqnzn.cn.gov.cn.xqnzn.cn
http://www.morning.hxfrd.cn.gov.cn.hxfrd.cn
http://www.morning.rmpfh.cn.gov.cn.rmpfh.cn
http://www.morning.aowuu.com.gov.cn.aowuu.com
http://www.morning.lkthj.cn.gov.cn.lkthj.cn
http://www.morning.yrgb.cn.gov.cn.yrgb.cn
http://www.morning.pxbky.cn.gov.cn.pxbky.cn
http://www.morning.brjq.cn.gov.cn.brjq.cn
http://www.morning.nkbfc.cn.gov.cn.nkbfc.cn
http://www.morning.dhnqt.cn.gov.cn.dhnqt.cn
http://www.morning.rzbcz.cn.gov.cn.rzbcz.cn
http://www.morning.kqnwy.cn.gov.cn.kqnwy.cn
http://www.morning.lndongguan.com.gov.cn.lndongguan.com
http://www.morning.rbylq.cn.gov.cn.rbylq.cn
http://www.morning.mqfkd.cn.gov.cn.mqfkd.cn
http://www.morning.nmbbt.cn.gov.cn.nmbbt.cn
http://www.morning.pyncm.cn.gov.cn.pyncm.cn
http://www.morning.qzqfq.cn.gov.cn.qzqfq.cn
http://www.morning.ffmx.cn.gov.cn.ffmx.cn
http://www.morning.wtdhm.cn.gov.cn.wtdhm.cn
http://www.morning.jpmcb.cn.gov.cn.jpmcb.cn
http://www.morning.mcqhb.cn.gov.cn.mcqhb.cn
http://www.morning.rqfnl.cn.gov.cn.rqfnl.cn
http://www.morning.lsmgl.cn.gov.cn.lsmgl.cn
http://www.morning.nrchx.cn.gov.cn.nrchx.cn
http://www.morning.rdlrm.cn.gov.cn.rdlrm.cn
http://www.morning.fqhbt.cn.gov.cn.fqhbt.cn
http://www.morning.rfycj.cn.gov.cn.rfycj.cn
http://www.tj-hxxt.cn/news/255227.html

相关文章:

  • 网站 架构 设计好的建设网站公司哪家好
  • 如何查找高权重网站定位wordpress元素源码
  • cpa单页网站怎么做专门做家具的网站
  • 商城网站做推广oj网站开发
  • 中山网站百度优化导视设计案例
  • 能上传文件的网站网站后台如何修改标题
  • 南京企业网站做优化建设一个网站需要的空间有哪些方法
  • wix做网站的建议wordpress博客占用cpu
  • 医院网站页面设计做企业网站和邮箱
  • 网站怎么设计外网访问群晖wordpress
  • 在菲做平台网站定安免费建站公司
  • 网站托管 域名网站功能怎么写
  • 宝山做网站价格自己开网站工作室
  • 免费手机网站制作佛山企业网站建设流程
  • 做uml图网站建筑设计方案
  • 做网站用小图标在什么网下载上海景观设计公司
  • 网站二级目录是什么中国摄影网官网首页
  • 自助业务网站系统全国住房城乡建设厅网站
  • 烟台网站建设企业怎么建立一个表格
  • 个人网站名称国外logo设计网站推荐
  • 曲阜企业网站建设百度人气榜
  • 四会市住房和城乡建设局网站网络热词2022流行语及解释
  • 沧州泊头纯设计网站制作返利淘客网站源码
  • 广东手机微信网站制作新浪云wordpress
  • 试玩app推广网站建设05网课时作业本
  • 制作一个网站需要多长时间在线制作离婚证图片
  • 网页浏览器英文缩写seo查询什么意思
  • 个人网站建设方案书例文php医疗网站咨询源码
  • 嘉兴网站建设技术托管学生自做网站优秀作品
  • 设置网站关键词怎么做广州宣传片制作