Graph 来自树证书的顶点度

Graph 来自树证书的顶点度,graph,theory,Graph,Theory,将树作为证书,例如 00010111 在不重建树的情况下,如何计算图中顶点的度数?或者只找到具有最大度数的顶点?结果表明,解决方案相当简单,只需检查输入证书一次。伪代码如下所示: S = new stack of int max_degree = 0 for i=1 to length( certificate ) if certificate[i] == 0 current = S.pop() if ( current != null ) current = cu

将树作为证书,例如

00010111

在不重建树的情况下,如何计算图中顶点的度数?或者只找到具有最大度数的顶点?

结果表明,解决方案相当简单,只需检查输入证书一次。伪代码如下所示:

S = new stack of int
max_degree = 0

for i=1 to length( certificate )
 if certificate[i] == 0
   current = S.pop()
   if ( current != null ) 
     current = current +1
     S.push( current )
   S.push( 0 )   
 else
   current = S.pop()
   if ( i != length( certificate ) )
     current = current +1
   if ( current > max_degree )
     max_degree = current
变量max_degree包含遍历整个证书后图中节点的最大次数