首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 其他开发语言 >

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

2012-04-23 
matlab求树的节点数sstruct(parent,{A,B,C,D,E,F,G},children,{BC,DE,F,G,,

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','','',''}; 

热点排行