Bifalgorithm post · Computer science one · Recursion
How can BigInteger be used for large recursive Fibonacci values?
How can BigInteger be used for large recursive Fibonacci values? (Computer science one · Recursion) — "Java provides an arbitrary precision data type, BigInteg…
Ideas in this flowchart
- BigInteger permite calcular valores enteros de Fibonacci arbitrariamente grandes.
- BigInteger es un tipo de datos de precisión arbitraria.
- Los números de Fibonacci crecen exponencialmente.
- Con int solo se puede representar hasta F45.
- BigInteger permite representar valores de Fibonacci mucho mayores.
- El ejemplo implementa fibMem mediante recursión y memorización.
- ¿Es n menor que cero?
- Si n < 0, se lanza una IllegalArgumentException porque el valor no está definido.
- ¿Es n menor o igual que uno?
- Para n <= 1, la función devuelve BigInteger.ONE.
- Para valores mayores, la función utiliza el caso recursivo con memorización.
- ¿Existe ya un resultado almacenado para n?
- Si no existe, se calculan recursivamente fibMem(n-1, m) y fibMem(n-2, m).
- Los dos valores se suman y el resultado se guarda en el mapa.
- Si existe, se devuelve directamente el resultado memorizado.
- Después del cálculo y almacenamiento, se devuelve el resultado.