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

定制企业网站建设哪家好济南网站建设哪家好

定制企业网站建设哪家好,济南网站建设哪家好,在线电子印章制作,python语言基础知识学习资料:代码随想录 拓扑排序精讲 卡码网:117. 软件构建 要先处理被依赖的文件。两步曲:找到入度为0的节点,加入结果;删除入度为0的节点(具体操作为将其通向的节点的入度数减一,从而可以判断…

学习资料:代码随想录

拓扑排序精讲

卡码网:117. 软件构建

要先处理被依赖的文件。两步曲:找到入度为0的节点,加入结果;删除入度为0的节点(具体操作为将其通向的节点的入度数减一,从而可以判断删除之后的节点了)

整个过程使用广度优先搜索完成,毕竟每一次要记录该节点通向的所有节点,与广度优先搜索非常契合

#include <iostream>
#include <unordered_map>
#include <vector>
#include <queue>
using namespace std;int main(){int n,m;cin>>n>>m;unordered_map<int,vector<int>> umap;int s,t;vector<int> inDegrees(n,0);for(int i=0;i<m;i++){cin>>s>>t;inDegrees[t]++;umap[s].push_back(t);     //记录s指向的文件}queue<int> que;for(int i=0;i<n;i++){if(inDegrees[i]==0){que.push(i);}}vector<int> result;while(!que.empty()){int cur = que.front();que.pop();result.push_back(cur);vector<int> files = umap[cur];if(files.size()){for(int i=0;i<files.size();i++){inDegrees[files[i]]--;if(inDegrees[files[i]]==0){que.push(files[i]);}}}}if(result.size()==n){for(int i=0;i<n-1;i++){cout<<result[i]<<' ';   //正好被依赖的在result的最前边}cout<<result[n-1];}else{           //有环的情况(result.size() < n)在这里处理了cout<<-1;}return 0;
}
/**************************************************************Problem: 1191User: odCYZ6hD6fu5mJce4N09fTNWuOjA [kamaCoder25388]Language: C++Result: 正确Time:53 msMemory:2184 kb
****************************************************************/

dijkstra(朴素版)精讲

卡码网:47. 参加科学大会

相对于prim算法 minDist表示 节点到最小生成树的最小距离,dijksta算法minDist表示 节点到源点的最小距离

还是要看一下模拟过程,感觉贪心有一个特别精妙的点在于,直觉上感觉是每一次都选择最短路径可能会错过其他路径,但代码实现起来其实是都考虑到了

#include <iostream>
#include <vector>
#include <climits>
using namespace std;int main(){int n,m,s,e,v;cin>>n>>m;vector<vector<int>> traffic(n+1,vector<int>(n+1,INT_MAX));for(int i=0;i<m;i++){cin>>s>>e>>v;traffic[s][e]=v;}vector<int> minDis(n+1,INT_MAX);vector<bool> visited(n+1,false);
//初始化int start=1;int end = n;minDis[start]=0;for(int i=0;i<n;i++){        //这里可视为操作n次,每一轮从所有还没访问过的点中,挑一个到起点距离最短的点,然后用它更新它的邻居int cur = 1;int minVal = INT_MAX;//选距离源最近且未被访问过的节点,后面mindis数组的每一次更新都是基于新加的站,都是该站能确定跑到的站for(int j=1;j<=n;j++){if(!visited[j]&&minDis[j]<minVal){cur=j;minVal=minDis[j];}}visited[cur]=true;//更新各未记录的站点到始发站的距离for(int k=1;k<=n;k++){if(!visited[k]&&traffic[cur][k]!=INT_MAX&&minDis[cur]+traffic[cur][k]<minDis[k]){minDis[k]=minDis[cur]+traffic[cur][k];}}}if(minDis[end]==INT_MAX) cout<<-1;else cout<<minDis[end]<<endl;
}
/**************************************************************Problem: 1047User: odCYZ6hD6fu5mJce4N09fTNWuOjA [kamaCoder25388]Language: C++Result: 正确Time:36 msMemory:2176 kb
****************************************************************/
© 2023 卡码网 版权所有 | 粤ICP备2022108040号-1 | pow

http://www.dtcms.com/wzjs/376535.html

相关文章:

  • 网站推广有必要吗网站关键词排名优化工具
  • 效果好企业营销型网站建设高清网站推广免费下载
  • 武汉做网站便宜怎么做网络营销平台
  • 美女网站源码带采集关于手机的软文营销
  • 贵阳营销型网站建设黑河seo
  • 东莞做网站公司排名seo搜索铺文章
  • 如何设计一个网页面板搜索引擎优化的内容
  • 西安保洁公司网站建设seo优化招商
  • 公司网站开发费账务处理百度权重排名
  • 扬州做公司网站千博企业网站管理系统
  • 汕头网站设计热门关键词
  • 永久3e38cos免费seo诊断优化专家
  • 企业大型网站建设要多少钱惠城网站设计
  • 公司网站后台更新今天的新闻大事10条
  • 线下推广的好处蔡甸seo排名公司
  • 全国公路建设市场信用信息管理系统网站搜狗官方网站
  • 怎么给餐饮店做网站陕西企业网站建设
  • 广州b2b网站建设公司五个成功品牌推广案例
  • 做网站成为首富的外国人微博营销软件
  • 手机建站永久免费软件外贸平台有哪些
  • 南昌金启网站建设东莞新闻头条新闻
  • 长沙模板建站哪家好seo zac
  • 分类建站cms系统整合营销沟通
  • 乐山市建设局官方网站产品推广渠道有哪些方式
  • 华夏星光工业设计公司seo站长工具 论坛
  • 整合营销方案互联网广告优化
  • 在哪个网站做ppt模板赚钱windows优化大师怎么样
  • 教育网站开发报告个人如何注册网站
  • 全套网站设计价格站长工具
  • 怎样做网络销售网站如何优化seo