首页 > 其他分享 >拓扑排序

拓扑排序

时间:2024-01-26 19:55:08浏览次数:24  
标签:有向图 拓扑 序列 顶点 排序 复杂度

讲解


 

 

例题


 

  第1题     拓扑序列

对下图所示的有向图进行拓扑排序,得到的拓扑序列可能是()

image.png

 

    • 第2题     拓扑序列_

      以下关于拓扑排序的说法中,错误的是()。

       
    • 若某有向图存在环路,则该有向图一定不存在拓扑排序

    • 在拓扑排序算法中为暂存入度为零的顶点,可以使用栈,也可以使用队列

    • 若有向图的拓扑有序序列唯一,则图中每个顶点的入度和出度最多为1

 

第3题     拓扑排序时间复杂度

若对n个顶点e条孤的有向图采用邻接表存储,则拓扑排序算法的时间复杂度是()。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1)答案:3,1,4,2,6,5

(2)答案:选3

(3)答案:O(n+e)

 

标签:有向图,拓扑,序列,顶点,排序,复杂度
From: https://www.cnblogs.com/didiao233/p/17990578

相关文章

  • 拓扑排序模板
    给定一个DAG(有向无环图),如果从\(u\)到\(v\)有边,则认为\(v\)依赖于\(u\)。如果\(u\)到\(v\)有路径(\(u\)可达\(v\)),则称\(v\)间接依赖于\(u\)。我们将图中的顶点以线性方式进行排序,使得对于任何的顶点\(u\)到\(v\)的有向边\((u,v)\),都可以有\(u\)在\(v\)的......
  • 洛谷题单指南-排序-P1271 【深基9.例1】选举学生会
    原题链接:https://www.luogu.com.cn/problem/P1271题意解读:最直接的计数排序问题,借助一个桶h[N],对被投票的候选人x执行h[x]++,再按顺序遍历输出即可。100分代码:#include<bits/stdc++.h>usingnamespacestd;constintN=1005;inth[N];intmain(){intn,m;......
  • 排序
    排序1.快速排序#include<bits/stdc++.h>usingnamespacestd;intn;inta[100001];voidqsort(intl,intr){if(l>=r)return;inti=l,j=r,x=a[l];while(i<j){ while(i<j&&a[j]>=x)j--;//从右向左找第一个小于x的数if(i&l......
  • MySQL SQL点查,范围查,排序,分组的Explain分析和SQL优化(8.0版本)
    MySQLSQL常用优化主要有where,range,order,groupby,or等查询。下图是优化的原则,后面会有一个例子来看看:比如建立了联合索引(c1,c2,c3),索引长度分别为5,5,4。数据有50条:点查SELECT*FROMtraining.t1wherec3=1andc2=1andc1=1;使用了索引,只要全部包含索引列,那么点查顺序......
  • 哈希排序
    #include<bits/stdc++.h>#defineintlonglongusingnamespacestd;intn,a[1000009];inlinevoidread(registerint&a){a=0;charc;while((c=getchar())<48);doa=(a<<3)+(a<<1)+(c^48);while((c=getchar())>47);}......
  • 归并排序
    归并排序  做法归并,基于分治,但是不同于快排1.确定分界点,这回的分界点是固定的,是mid。=2.排序左边和右边3.归并如图,红色箭头是该区间的最小值,假设答案数组res[]。如果A数组最小值比B数组最小值还小,把该值放入res[]。然后箭头向右移一位。继续这样比较一个区间全部值......
  • 快速排序
    快排 做法 快排,基于分治1.确定分界点,q[l],q[(l+r)/2],q[r],随机,四种都可以,但是推荐q[(l+r)/2]2.[重点]调整区间,划分2个区间,使得左半边所有的数<=x,右半边所有的数>=x,注意,x不一定在两个区间交界处,可能在很奇怪的位置3.递归处理左右两段 比较暴力的做法   先开......
  • KY207 二叉排序树C++
    考二叉搜索树的插入。#include<iostream>usingnamespacestd;structnode{intdata;structnode*left;structnode*right;};typedefstructnodetree;intmain(){intn;while(cin>>n){tree*root=NULL;while(n!=0......
  • 逆序对/归并排序
    逆序对定义:对于给定的一段正整数序列,逆序对就是序列中$a_i>a_j$且$i<j$的有序对。P1908逆序对-洛谷|计算机科学教育新生态(luogu.com.cn)#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;constintN=2e6+10;intn,m,a[N],c[N],res,num;void......
  • 洛谷题单指南-模拟和高精度-P1786 帮贡排序
    原题链接:https://www.luogu.com.cn/problem/P1786题意解读:此题比较简单,模拟+排序即可解决。需要注意的是,当帮贡或者等级相同时,都要保持原来的顺序,因此需要记录每个人的编号,便于排序。话不多说,直接上代码。100分代码:#include<bits/stdc++.h>usingnamespacestd;constint......