JavaScript 递归函数详解:阶乘、斐波那契数列、二分查找示例
当然可以,递归函数是程序设计中一种重要的技巧,它可以用来解决一些复杂的问题。以下是一些常见的递归函数示例:
- 阶乘函数:计算一个数的阶乘
function factorial(num) {
if (num === 1) {
return 1;
}
return num * factorial(num - 1);
}
- 斐波那契数列:计算第 n 个斐波那契数
function fibonacci(num) {
if (num === 0) {
return 0;
}
if (num === 1) {
return 1;
}
return fibonacci(num - 1) + fibonacci(num - 2);
}
- 二分查找:在有序数组中查找一个值
function binarySearch(arr, target, start, end) {
if (start > end) {
return -1;
}
const mid = Math.floor((start + end) / 2);
if (arr[mid] === target) {
return mid;
}
if (arr[mid] > target) {
return binarySearch(arr, target, start, mid - 1);
} else {
return binarySearch(arr, target, mid + 1, end);
}
}
这些函数都是递归函数,根据不同的需求和场景可以实现不同的递归函数。希望这些示例能够帮助您理解递归函数的实现方式。
原文地址: https://www.cveoy.top/t/topic/lLfu 著作权归作者所有。请勿转载和采集!