分形图的递归算法
– 在计算机程序设计中,递归是指一个过程直接或间接得调用其自身的一种算法。
– 直接递归调用的例子如下:
void Recur(n){
````
Recur(m);
````
}
过程Recur的内部又调用了自身—–Recur过程。
– 间接递归调用的例子如下:
void Recur_A(n){
````
Recur_B(m);
````
}
void Recur_B(n){
````
Recur_C(m);
````
}
void Recur_C(n){
````
Recur_A(m);
````
}
过程Recur_A的内部调用了过程Recur_B,过程Recur_B的内部调用了过程Recur_C,过程Recur_C的内部调用了过程Recur_A,这相当于过程Recur_A的内部又调用了其自身。
实质上,递归是利用计算机中压栈和出栈的功能,重复地运用某些规则来生成嵌套的结构。这里所谓的“压栈”,意思是暂时停止目前进行的操作,但是并没有把当前信息忘掉,然后去完成更第一层次的任务;而“出栈”则正好相反,它是结束在这个层次上的操作回到更高的层次上来,重新开始因为“压栈”而中断的操作。
分形的自我相似、自我复制和自我嵌套,让人很自然得想到可以用计算机的递归算法来生成分形图。事实上很多经典分形图的绘制采用了递归算法。
这是一只编程小喵,经常出没在喵屋[AudioMiao]中,挖挖[喵的Github],瞧瞧世界。