这个连接两个端点,路径是什么长度是端点数字的游戏是什么?

Arithmetic(8)
图的基本术语:
1)端点和邻接点:在一个无向图中,若存在一条边(vi,vj),称vi和vj为此边的两个端点,并称它们互为邻接点。在一个有向图中,若存在一条边&vi,vj&, 分别称vi和vj为起始端点和终止端点,并称vi和vj互为邻接点。
2)顶点的度、入度和出度:在无向图中,顶点所具有的边的数目称为该顶点的度。在有向图中,以顶点vi为终点的边的数目,称为该顶点的入度;以顶点vi为起点的边的数目,称为该顶点的出度。
3)完全图:无向完全图的每两个顶点间存在一条边,有向完全图中的每两个顶点之间存在着方向相反的两条边。
4)稠密图、稀疏图:稠密图接近完全图,稀疏图含有较少的边数。
5)子图:子图的边数和点数是父图的子集。
6)路径和路径长度:从顶点vi到顶点vi的路径是一条顶点序列,路径长度是指一条路径上经过的边的数目。
7)回路或环:若一条路径上的开始点与结束点为同一个顶点,为回路或环。
8)连通、连通图和连通分量:在无向图中,若从顶点vi和顶点vj有路径,称vi和vj是连通的。若图中任意两个顶点都连通,称图为连通图,无向图中极大连通子图称为图的连通分量。仅对无向图而言。
9)强连通图和强连通分量:在有向图中,若从顶点vi到顶点vj有路径,称从vi到vj是连通的。若图中任意两点互相连通,称图是强连通图。有向图的极大强连通子图称之为图的强连通分量。
10)关节点和重连通图:如果删除图中顶点vi以及相关联的各边后,将图的一个连通分量侵害成两个或多个连通分量,称vi为图的关节点。没有关节点的连通图称为重连通图。
11)权和网:图中每条边都可以附有一个对应的数值,这种与边相关的数值称为权。边上带权的图称为带权图,也称作网。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:166997次
积分:1959
积分:1959
排名:第16340名
原创:46篇
评论:153条
(1)(2)(6)(1)(2)(1)(1)(16)(14)(4)(2)(5)我知道是先要拓扑排序,问题是排序之后的算法该如何?我看WIKI上的算法是这样的,但实在看不懂,也不懂该怎么实现:
algorithm dag-longest-path is
Directed acyclic graph G
Length of the longest path
length_to = array with |V(G)| elements of type int with default value 0
for each vertex v in topOrder(G) do
for each edge (v, w) in E(G) do
if length_to[w] &= length_to[v] + weight(G,(v,w)) then
length_to[w] = length_to[v] + weight(G, (v,w))
return max(length_to[v] for v in V(G))
public static int longestPath(int node,int[] topo){
int[] dist = new int[topo.length];
for(int i:topo){
if(isArc(node,i)){
if(dist[i]&dist[node]+1){
dist[i] = dist[node] + 1;
return getMax(dist);
只写了这样的code,但是不能算出最长的路径……topo是排序好的拓扑顺序
时间比较急,所以只好上来问了,哪怕只是给一个能够运作的伪代码也行,谢谢大家了!
enum VertexState{White, Gray, Black}
public void DFS(){
for (int i = 0; i & order(); i++){
state[i] = VertexState.W
int time = 0;
for(int u = 0;u&order();u++){
time = recursiveDFS(u,time);
int[] topo = topoSort(doneTimes);
System.out.println(longestPath(0,topo));
public int recursiveDFS(int u,int time){
if(state[u] != VertexState.White){
state[u] = VertexState.G
//System.out.format("%d is seen, time is %d\n",u,time);
seenTimes[u] =
int lastTime =
for(int v = 0; v & order(); v++){
if(isArc(u, v) && state[v] == VertexState.White){
time = recursiveDFS(v,time);
if(lastTime == time){
leavesSeenTimes.add(time-1);
//System.out.format("%d is done, time is %d\n",u,time);
state[u] = VertexState.B
doneTimes[u] =
& 2017 乐问&&
本站内容采用&
&&沪ICP备号-1下载作业帮安装包
扫二维码下载作业帮
1.75亿学生的选择
线段包含它的两个端点,但线段的定义是连接两点间线段的长度叫做这两点之间的距离 既然有两个端点,还怎么连接两点?谢谢!
两点间的距离可以还没连接的.连接后有线段,才有长度,这条线段的长度就是两点间的距离.给的条件是两个点,连接后的线段长度是两点间的距离.
为您推荐:
扫描下载二维码}

我要回帖

更多关于 ai复合路径是什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信