跟踪它的执行情况-机器学习,概述,第一篇内容
计算结果为3表7.1跟踪它的执行情况表格7.1 rgcd(15, 123)的跟踪结果v1 v2返回值15 123 rgcd(123,15) 123 15 rgcd(15,3) 15 3 rgcd(3,0) 3 0 3最后一个调用rgcd(3, 0);满足了停止条件它返回最大公约数3该值依次成为前面每个调用的返回值这个值被称为回渗percolate直到执行返回到第一次调用rgcd()的函数由于与函数调用相关的额外开销递归函数可能比非递归或称迭代函数执行得慢一些但是递归函数可能更小且更易于理解N的阶乘factorial是将数从1乘到n的结果例如5的阶乘是120 1 2 3 4 5 = 120阶乘的计算可以用递归函数实现unsigned long factorial( int val ) { if ( val > 1 ) return val * factorial( val-1 ); return 1; }本例的结束条件发生在val的值为1时练习7.12将factorial()重写为送代函数练习7.13如果factorial()的结束条件如下所示将会发生什么if ( val != 0 ) 7.6 inline函数考虑下列min()函数int min( int v1, int v2 ) {
4.25MB
文件大小:
评论区