algorithm - 相互递归的实际例子?

标签 algorithm data-structures recursion mutual-recursion

我正在阅读有关相互递归的内容。在几乎所有 Material 中,都有确定整数是偶数还是奇数的问题的示例?

int is_even(unsigned int n)
{
    if (n==0) return 1;
    else return(is_odd(n-1));
}

int is_odd(unsigned int n)
{
    return (!iseven(n));
}

显然,使用模运算符可以更轻松地解决上述问题。

另一个例子是判断一个人是女性还是男性的问题。这也可以在不使用递归的情况下以更简单的方式解决。

那么相互递归只是理论上的还是有什么地方可以实际使用它来使我的解决方案比使用任何其他技术更简单?

你能帮我举个例子吗?

最佳答案

相互递归不是很常见,但有时很有用。使用“递归下降”方法解析文本是您可以找到的一种实用设置。

http://en.m.wikipedia.org/wiki/Recursive_descent_parser

关于algorithm - 相互递归的实际例子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17647976/

相关文章:

algorithm - 递归树和代入法

c# - 分割自相交多边形的算法

algorithm - 在文档中查找个人信息(难题)

mysql - 为类似 Tinder 的应用程序设计高效的 MySQL 数据库

python - 原始计算器 - 动态方法

algorithm - 在 Clojure 中实现 Minimax 算法 - 具有多个递归调用的条件函数

c++ - 检查2个字符串中是否有公共(public)子字符串c++

javascript - 仅当项目类型更改时才返回结果的 Switch 语句

algorithm - n 叉树和 m 叉树之间有什么区别吗?

javascript - javascript中数组交集的最简单代码