graph - 树证书的顶点度数
问题描述
给定一棵树作为证书,例如
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 包含遍历整个证书后图中节点的最大度数
推荐阅读
- mysql - 缩小来自 MySQL Workbench 的查询
- java - 格式化程序不能用于字符串吗?
- python - Python Docker 远程调试 VS 代码
- c - 当某个进程打开文件时, unlink() 会做什么?
- ios - 将子值更新到 Firebase iOS 并在其他节点中引用自动 ID
- mongodb - 如何使用 MongoDB 3.6 位置运算符从数组中的多个项目中提取值
- python - tensorflow 保存和恢复自动编码器
- javascript - 获取输入事件的先前值
- certificate - 将 CodeFluent.Runtime.Utilities.Authenticode.FindSuitableCertificate 转换为 C#
- sql - SQL Server,如何获得年轻用户?