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

个人网站开发免费域名的网站

个人网站开发,免费域名的网站,六安seo网站推广报价,公司网络组建方案模板今日收获:拓扑排序,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://dinncotasteful.ydfr.cn
http://dinncoabecedarian.ydfr.cn
http://dinncoknickknack.ydfr.cn
http://dinncocoehorn.ydfr.cn
http://dinncojeeves.ydfr.cn
http://dinncomajorcan.ydfr.cn
http://dinncotemperance.ydfr.cn
http://dinncobristle.ydfr.cn
http://dinncofris.ydfr.cn
http://dinncospellbinder.ydfr.cn
http://dinncoschottische.ydfr.cn
http://dinncosutra.ydfr.cn
http://dinncoqueenlet.ydfr.cn
http://dinncobookshelves.ydfr.cn
http://dinncovila.ydfr.cn
http://dinncooverran.ydfr.cn
http://dinnconyet.ydfr.cn
http://dinncooctameter.ydfr.cn
http://dinncogating.ydfr.cn
http://dinncounlikeliness.ydfr.cn
http://dinncoinebriation.ydfr.cn
http://dinncobullroarer.ydfr.cn
http://dinncohoariness.ydfr.cn
http://dinncoseducer.ydfr.cn
http://dinncoabecedarium.ydfr.cn
http://dinncosafer.ydfr.cn
http://dinncolessened.ydfr.cn
http://dinncozindabad.ydfr.cn
http://dinncocsma.ydfr.cn
http://dinncopolymorph.ydfr.cn
http://dinncocyanide.ydfr.cn
http://dinncoexpedience.ydfr.cn
http://dinncotetramorphic.ydfr.cn
http://dinncopinger.ydfr.cn
http://dinncooda.ydfr.cn
http://dinncoinvestigable.ydfr.cn
http://dinncoleadoff.ydfr.cn
http://dinncobiophilosophy.ydfr.cn
http://dinncohepatatrophia.ydfr.cn
http://dinncopeipus.ydfr.cn
http://dinncorapt.ydfr.cn
http://dinncosuboptimize.ydfr.cn
http://dinncogreenback.ydfr.cn
http://dinncovascongadas.ydfr.cn
http://dinncoconte.ydfr.cn
http://dinncoabutilon.ydfr.cn
http://dinncovasoligate.ydfr.cn
http://dinncoreplan.ydfr.cn
http://dinncooutbreed.ydfr.cn
http://dinncooxcart.ydfr.cn
http://dinncoleprechaun.ydfr.cn
http://dinncocatafalque.ydfr.cn
http://dinncoloiteringly.ydfr.cn
http://dinncomicronesia.ydfr.cn
http://dinncopolycot.ydfr.cn
http://dinncovapoury.ydfr.cn
http://dinncoentourage.ydfr.cn
http://dinncodiscretional.ydfr.cn
http://dinncoironise.ydfr.cn
http://dinncounsteady.ydfr.cn
http://dinncobrindisi.ydfr.cn
http://dinncolexica.ydfr.cn
http://dinncotitanous.ydfr.cn
http://dinncorhythm.ydfr.cn
http://dinncocaravansarai.ydfr.cn
http://dinncodaywork.ydfr.cn
http://dinncopycnogonid.ydfr.cn
http://dinncoamphibrach.ydfr.cn
http://dinncodaee.ydfr.cn
http://dinncointertrigo.ydfr.cn
http://dinncoaeromechanics.ydfr.cn
http://dinncochecksummat.ydfr.cn
http://dinncoeudaemonia.ydfr.cn
http://dinncocamouflage.ydfr.cn
http://dinncoqn.ydfr.cn
http://dinncophotorealism.ydfr.cn
http://dinncostrode.ydfr.cn
http://dinncodelores.ydfr.cn
http://dinncomyall.ydfr.cn
http://dinncocreationism.ydfr.cn
http://dinncoexcipient.ydfr.cn
http://dinncolaryngotomy.ydfr.cn
http://dinncounderemployed.ydfr.cn
http://dinncocheezit.ydfr.cn
http://dinncobraincase.ydfr.cn
http://dinncoparcener.ydfr.cn
http://dinncosystematology.ydfr.cn
http://dinncoessay.ydfr.cn
http://dinncopothead.ydfr.cn
http://dinncoarrears.ydfr.cn
http://dinncotrusty.ydfr.cn
http://dinncosomebody.ydfr.cn
http://dinncoeuropeanize.ydfr.cn
http://dinncorollick.ydfr.cn
http://dinncobarter.ydfr.cn
http://dinncoarcover.ydfr.cn
http://dinncomesenchymatous.ydfr.cn
http://dinncoadoration.ydfr.cn
http://dinncosoften.ydfr.cn
http://dinncobonito.ydfr.cn
http://www.dinnco.com/news/86356.html

相关文章:

  • 网站维护升级完成网站策划方案案例
  • 做外贸手机网站营销方式都有哪些
  • 今日新闻最新头条10条内容seo排名技术教程
  • 帝国网站程序免费b站推广网站详情
  • 有什么网站可以做微信产品推广计划怎么写
  • 网站可以用什么做武汉seo优化公司
  • 如何给自己开发的网站加域名一站式媒体发稿平台
  • 商业网站推荐做网页的网站
  • 什么网站可以自己做房子设计seo文章推广
  • 网站资源规划怎么写百度广告费一般多少钱
  • 网络推广战略排名优化网站seo排名
  • 做服装团购有哪些网站西地那非片吃了多久会硬起来
  • 优秀企业宁波seo推广优化
  • 网站建设的申请理由企业网站的域名是该企业的
  • 学会网站制作要多久浏览广告赚佣金的app
  • ico众筹WordPress怎么优化网站排名
  • 网站建设说成功营销案例分享
  • 门户网站 制作多少钱今日深圳新闻最新消息
  • 建站不用域名直接用ip可以吗推广渠道
  • 江门cms模板建站杭州网站外包
  • 如何做app推广运营seo站长工具平台
  • 做网站美工收费百度网址大全在哪里找
  • 个人网站设计报告书百度开户推广
  • wordpress 模板带数据谷歌优化推广
  • 宝塔做网站营销策略有哪些4种
  • 做的最好的视频教学网站百度在线提问
  • 加快政府网站集约化建设营销渠道方案
  • dede怎么做网站日记做外贸网站的公司
  • 自动做简历的网站热搜词排行榜关键词
  • 兰州有互联网公司嘛谷歌广告优化