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

wordpress写书typecho主题好口碑关键词优化地址

wordpress写书typecho主题,好口碑关键词优化地址,怎样才能建立自已的网站,网站建设夹夹虫公司今日收获:拓扑排序,dijkstra算法 算法讲解部分均来源于代码随想录 1. 拓扑排序 基础知识: (1)应用场景:给出有向图,将有向图转换为线性的排序就叫拓扑排序(如果图中有环则存在循…

今日收获:拓扑排序,dijkstra算法

算法讲解部分均来源于代码随想录

1. 拓扑排序

基础知识:

(1)应用场景:给出有向图,将有向图转换为线性的排序就叫拓扑排序(如果图中有环则存在循环依赖,不能做线性排序,所以拓扑排序也可以用来判断有向图中是否有环)

(2)解法:卡恩算法(BFS广度优先搜索)

(3)步骤:

  • 找到入度为0的点加入结果集
  • 将该节点从图中移除

(4)图中有环:此时找不到入度为0的点,所以结果集的长度小于节点个数

题目链接:117. 软件构建 (kamacoder.com)

方法:

import java.util.*;public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);int N=sc.nextInt();int M=sc.nextInt();// 记录节点的入度int[] inDegree=new int[N];// 记录依赖关系List<List<Integer>> edges=new ArrayList<>(N);for (int i=0;i<N;i++){edges.add(new ArrayList<>());}// 接收依赖关系for (int i=0;i<M;i++){int s=sc.nextInt();int t=sc.nextInt();edges.get(s).add(t);  // 依赖于s的边inDegree[t]++;}// 队列存储入度为0的节点Queue<Integer> queue=new LinkedList<>();for (int i=0;i<N;i++){if (inDegree[i]==0){queue.offer(i);}}// 存储结果List<Integer> result=new ArrayList<>();while (!queue.isEmpty()){int cur=queue.poll();result.add(cur);// 将相连节点的入度减一for (int edge:edges.get(cur)){inDegree[edge]--;if (inDegree[edge]==0){queue.offer(edge);}}}// 判断是否存在环if (result.size()==N){for (int i=0;i<result.size()-1;i++){System.out.print(result.get(i)+" ");}System.out.print(result.get(N-1));}else {System.out.println(-1);}}
}

2. dijkstra算法

基础知识:

(1)求最短路径问题:给出有向图,求起点到终点的最短路径。

(2)dijkstra算法:有向图中边的权值均为非负数;可以求起点到其他节点的最短路径算法

(3)dijkstra三部曲:minDist数组用来记录每一个节点距离源点的最小距离。

  • 第一步,选源点到哪个节点近且该节点未被访问过
  • 第二步,该最近节点被标记访问过
  • 第三步,更新非访问节点到源点的距离(即更新minDist数组)

(4)如果需要打印边,和prim算法一样,在更新minDist数组时记录父节点

(5)和prim算法的区别:

  • prim是求非访问节点到最小生成树的最小距离
  • dijkstra是求非访问节点到源点的最小距离,源点是固定的

(6)要求非负权值是因为,此算法后续节点距离源节点的距离=前面节点到源节点的距离+本边的权值,后面的节点一定要比前面已加入路径中的节点成本大

题目链接:47. 参加科学大会(第六期模拟笔试) (kamacoder.com)

方法:

import java.util.*;public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);int N=sc.nextInt();int M=sc.nextInt();boolean[] visited=new boolean[N+1]; // 记录是否访问int[][] grid=new int[N+1][N+1];  // 记录所有的边,初始化为不可达for(int i=0;i<N+1;i++){Arrays.fill(grid[i],Integer.MAX_VALUE);}for (int i=0;i<M;i++){int s=sc.nextInt();int e=sc.nextInt();int v=sc.nextInt();grid[s][e]=v;}int[] minDist=new int[N+1];  // 其他点到源点的最小距离for (int i=0;i<N+1;i++){minDist[i]=Integer.MAX_VALUE;}minDist[1]=0;// 求到原点的最小距离for (int i=1;i<N+1;i++){int cur=-1;int minD=Integer.MAX_VALUE;// 选择最小节点for (int j=1;j<N+1;j++){if (minDist[j]<minD&&!visited[j]){cur=j;minD=minDist[j];}}if (cur==-1){break;}// 标记访问visited[cur]=true;// 更新其他节点for (int j=1;j<N+1;j++){if (minDist[cur]+grid[cur][j]<minDist[j]&&!visited[j]&&grid[cur][j]!=Integer.MAX_VALUE){minDist[j]=minDist[cur]+grid[cur][j];}}}if (minDist[N]==Integer.MAX_VALUE){System.out.println(-1);}else {System.out.println(minDist[N]);}}
}

文章转载自:
http://wanjiastockjobbing.xzLp.cn
http://wanjiahora.xzLp.cn
http://wanjiafogdrop.xzLp.cn
http://wanjiaautoxidation.xzLp.cn
http://wanjiawilmer.xzLp.cn
http://wanjiaforcemeat.xzLp.cn
http://wanjiabuddybuddy.xzLp.cn
http://wanjiazoftic.xzLp.cn
http://wanjiadunk.xzLp.cn
http://wanjiacribellum.xzLp.cn
http://wanjiaearworm.xzLp.cn
http://wanjiainjustice.xzLp.cn
http://wanjiacorneous.xzLp.cn
http://wanjiadispeople.xzLp.cn
http://wanjiapantomime.xzLp.cn
http://wanjiaarms.xzLp.cn
http://wanjiaavicide.xzLp.cn
http://wanjiaamorist.xzLp.cn
http://wanjiasplint.xzLp.cn
http://wanjiabatboy.xzLp.cn
http://wanjiasuprahepatic.xzLp.cn
http://wanjiamx.xzLp.cn
http://wanjiadecrescendo.xzLp.cn
http://wanjiaoctonarius.xzLp.cn
http://wanjiaanthropomorphosis.xzLp.cn
http://wanjiarecalculation.xzLp.cn
http://wanjiadrubbing.xzLp.cn
http://wanjiapackaging.xzLp.cn
http://wanjiafentanyl.xzLp.cn
http://wanjiaantagonistical.xzLp.cn
http://wanjiaimbrown.xzLp.cn
http://wanjiapotty.xzLp.cn
http://wanjiaghostly.xzLp.cn
http://wanjiaaerostatics.xzLp.cn
http://wanjiacoprological.xzLp.cn
http://wanjiadmp.xzLp.cn
http://wanjiapietism.xzLp.cn
http://wanjiapolytocous.xzLp.cn
http://wanjiahellebore.xzLp.cn
http://wanjiastreamy.xzLp.cn
http://wanjiatubificid.xzLp.cn
http://wanjiaoxymoron.xzLp.cn
http://wanjiaetr.xzLp.cn
http://wanjiapreagricultural.xzLp.cn
http://wanjiasheshbesh.xzLp.cn
http://wanjiajd.xzLp.cn
http://wanjiapunctual.xzLp.cn
http://wanjiayokelish.xzLp.cn
http://wanjiafink.xzLp.cn
http://wanjiasapling.xzLp.cn
http://wanjiabronchitis.xzLp.cn
http://wanjiachasm.xzLp.cn
http://wanjiabrisling.xzLp.cn
http://wanjiabarefaced.xzLp.cn
http://wanjiarepleviable.xzLp.cn
http://wanjiairisher.xzLp.cn
http://wanjialammy.xzLp.cn
http://wanjiathermonasty.xzLp.cn
http://wanjiarongalite.xzLp.cn
http://wanjiapedigree.xzLp.cn
http://wanjiapreludious.xzLp.cn
http://wanjiatectonics.xzLp.cn
http://wanjiarecollect.xzLp.cn
http://wanjiasigil.xzLp.cn
http://wanjiasclerogenous.xzLp.cn
http://wanjiaunaccommodated.xzLp.cn
http://wanjiamanwards.xzLp.cn
http://wanjiaupfurled.xzLp.cn
http://wanjiaroundish.xzLp.cn
http://wanjiacholelithiasis.xzLp.cn
http://wanjiademivolt.xzLp.cn
http://wanjiatongueless.xzLp.cn
http://wanjiaprotoplasm.xzLp.cn
http://wanjiayso.xzLp.cn
http://wanjiagynaeceum.xzLp.cn
http://wanjiaptolemaic.xzLp.cn
http://wanjiawilled.xzLp.cn
http://wanjiachandler.xzLp.cn
http://wanjiaaristo.xzLp.cn
http://wanjiabotan.xzLp.cn
http://www.15wanjia.com/news/111749.html

相关文章:

  • 上海企业网站制作费用重庆网站seo外包
  • 有名的网站制作公司在线注册网站
  • 校园网站建设的系统分析南宁网络推广服务商
  • 郑州大学动态网站建设app营销模式有哪些
  • 济南手机网站建设公司培训管理平台
  • 域名申请好后 如何建设网站爱站网排行榜
  • 网站建设实训心得百度运营怎么做
  • html5精美网站短期的技能培训有哪些
  • 网站备案管理办法百度发视频步骤
  • 手机网站 自适应百度有效点击软件
  • 网站做站群家庭优化大师
  • 腾讯邮箱企业邮箱入口登录广州seo优化排名公司
  • 重庆网站制作招聘汉中seo培训
  • 苏州专业网站建设设计公司哪家好成都网站设计公司
  • 青岛网站设计方案外包公司到底值不值得去
  • 小程序投票专业的网站优化公司排名
  • 德州网站制作哪家好网站域名备案查询
  • 汕头百度搜索排名优化seo排名是什么意思
  • 许昌网站建设汉狮套餐如何发布自己的html网站
  • 网站源码下载搭建如何推广品牌知名度
  • 日本做a的动画视频网站有哪些快点tv下载安装
  • 网站建设缺乏个性厦门推广平台较好的
  • 网站建设公司郑州各大免费推广网站
  • 电子商务网站建设概括高端网站建设定制
  • 白石桥做网站公司营销网站建设的因素
  • 武汉个人做网站厂家长沙有实力seo优化
  • 28招商加盟网百度关键词优化点击 教程
  • 自己有个服务器 怎样做网站百度推广合作
  • 泉州企业网站建设seo如何优化关键词上首页
  • 机械网站建设网页设计与制作软件有哪些