关于函数的递归调用 拟实现二叉树遍历
我是刚接触matlab的新人,编了一个小程序,但是没能实现预期效果,不知道问题出在哪,请各位大人指点。(也许有高人看到这个帖子会嗤之以鼻,可是对我这样的新人来说,我实在不知道是哪方面的问题,所以连查资料都不知道该怎么查。如果坏了这里的规矩,还请各位版主多见谅!)
=====================
preorder.m
-----------------------------------------------
function p = preorder(f,i,r)
if i < 16
p(1,r) = f(1,i);
preorder(f,2*i,r+1);
preorder(f,2*i+1,r+1);
end
====================
主函数
---------------------------------------
F = zeros(1,16);
for j = 1:16
F(1,j)=j;
end
r = 1;
g = preorder(F, 1, 1);
======================
结果:g 大小为1*1 值为1
设置断点调试时p的值变化如下
1
0 2
0 0 4
0 0 0 8
0 0 0 9
0 0 5
0 0 0 10
0 0 0 11
0 3
0 0 6
0 0 0 12
0 0 0 13
0 0 7
0 0 0 14
0 0 0 15
之后workspace ArrayEditor:p窗口显示Variable is out of scope
[ 本帖最后由 eight 于 2007-12-17 20:34 编辑 ]
回复 #1 yaoyi 的帖子
对你的算法不了解... 谢谢楼上的关注~
页:
[1]