当前位置: 代码迷 >> 其他开发语言 >> matlab求树的节点数,该怎么解决
  详细解决方案

matlab求树的节点数,该怎么解决

热度:9850   发布时间:2013-02-26 00:00:00.0
matlab求树的节点数
s=struct('parent',{'A','B','C','D','E','F','G'},'children',{'BC','DE','F','G','','',''})

function [nodesnum]=numofnodes(s,num,node)%s为树的结构体,node为子树的根节点
syms A
for i=1:size(s,2)
  if isequal(s(i).parent,node)
  t=i
  end
end
  if isempty(s(t).children)
  num=num
  else
  A=s(t).children
  num=size(A,2)+num
  end
  for j=1:size(A,2)
  for k=t:size(s,2)
  if isequal(s(k).parent,A(j))
  numofnodes(s,num,s(k).parent)
  end
  end
  end
上面的程序是求树的节点数,求高手给我看看为什么出来的结果不正确,谢谢大家啦!

------解决方案--------------------------------------------------------
楼主,你的数据结构不科学
像你这样的设计,完全可以用2个cell数组保存信息,用struct完全没有意义
例如:
Python code
parent = {'A','B','C','D','E','F','G'};children = {'BC','DE','F','G','','',''};
  相关解决方案