tree_size.m

来自「一个遗传规划的源程序」· M 代码 · 共 25 行

M
25
字号
function [n,vix] = tree_size(tree);
% 计算树的大小
%    n <- 树的大小 size of tree
%    vix <- 结点向量的索引 index vector of nodes

nt = tree.nodetyp;
v = [1];
i = 1;
n = 1;
while i<=n,
  
 if nt(v(i))==1 & v(i)*2<=length(nt),
  v = [v, v(i)*2, v(i)*2+1];
end
  if v(i)*2>length(nt),        
      % 当v(i)(就是根结点的索引号)的值>16的话它所生成的左右子树的结点就大于 31 
      break;
  end
 i = i+1;
 n = length(v);
end
% Result
n = length(v);
vix = v;
return

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?