niusouti.com
更多“用C语言写一个递归算法求N!;(华为面试题) ”相关问题
  • 第1题:

    若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用(26)算法,因为(27)。

    A.先递归后递推

    B.先递推后递归

    C.递归

    D.递推


    正确答案:D
    解析:递推算法是一种常用算法,它的基本思想是:对本身具有递推关系的问题,其初始解已知或者很容易得到,然后从i=0开始,逐级从i=0,1,2,…进行递推,每次是从上一次递推的结果开始,利用递推关系,求出下一次的递推的结果,直到符合要求为止。递归算法相对递推算法要复杂得多。递归算法中是递推分解问题,然后再将最简单情况的解回归成大问题的解决。由于递归会引起一系列函数调用,有不少重复计算,其执行的效率也较低。因此,若某问题既能用递归算法求解,又能用递推算法求解时,常常是使用递推方法求解要容易,效率高得多。

  • 第2题:

    设计一个递归算法求一个实型数组a[0..n-1]的平均值。


    堆栈

  • 第3题:

    已知一个具有n个顶点的无向图G,用邻接矩阵存储。试写一个递归算法,判断图G中是否包含一条长度为k的简单路径。要求: (1)描述算法的基本设计思想(3分) (2)根据设计思想,采用类C语言描述算法,关键之处给出简要注释。(7分)


    BCD

  • 第4题:

    用递归算法实现n个相异元素构成的有序序列的二分查找,采用一个递归工作栈时,该栈的最小容量应为()。


    答案:D
    解析:

  • 第5题:

    以下关于递归算法,哪一个()是错误的?

    A.递归算法可以转化为非递归算法

    B.递归算法是一个运算最快的算法

    C.递归算法非常简洁,但是有些程序设计语言不支持递归算法

    D.递归算法的本质是分解法,将大问题分解为小问题,逐次减少问题的规模,从而得到求解结果


    C