您现在的位置是: www.7168.com > www.3168.cc >

这也是为什么c言语有do...while/for 之类的轮回布局

发布日期: 2019-11-14 浏览次数:

  实现1就是递归的计较过程, 实现2是迭代的计较过程.区别正在于:从编译器的角度看, 实现1的实现需要系统当前将要施行操做的轨迹,跟着递归深度的加深,所需要保留的消息量线, 其形态能够用固定命量的形态变量进行描述.

  然而这两种实现从言语实现的角度来看(c), 都能够用递归实现, 也就都能够称做是递归过程. 然而c言语编译器这种对于递归的这种注释非论是空间效率和仍是时间效率都是不尽人意的(正在c言语的实现设想中,对于任何递归的注释都属于递归计较过程即便他们从道理上讲是迭代的),这也是为什么c言语有do...while/for 之类的轮回布局的缘由(对于scheme则不存正在这个设想缺陷 -- scheme注释器采用了尾递归的技巧).

  看了线性的递归和迭代以及树形递归迭代这部门的内容,感受对递归和迭代又有了新的理解...所以记实一下,也算对这部门内容的总结吧.

  起首书中提到的递归取迭代和我以前想的有点纷歧样,我感受书中提到的递归和迭代是坐正在编译器/注释器的根本上来看的,而我之前是坐正在言语(类C言语的)的具体实现的角度看的.