Explore >> Select a destination


You are here

www.adamconrad.dev
| | blog.neil.brown.name
22.8 parsecs away

Travel
| |
| | www.oranlooney.com
16.3 parsecs away

Travel
| | A common example of recursion is the function to calculate the \(n\)-th Fibonacci number: def naive_fib(n): if n < 2: return n else: return naive_fib(n-1) + naive_fib(n-2) This follows the mathematical definition very closely but it's performance is terrible: roughly \(\mathcal{O}(2^n)\). This is commonly patched up with dynamic programming. Specifically, either the memoization: from functools import lru_cache @lru_cache(100) def memoized_fib(n): if n < 2: return n else: return memoized_fib(n-1) + memoiz...
| | qsantos.fr
9.4 parsecs away

Travel
| |
| | mrcat.au
37.2 parsecs away

Travel
| I've started learning Zig, a new programming language in the same problem space as C, and it has some features I really like. While it's not memory-safe in the Rust way, it has a lot of compile time and runtime checks to prevent common footguns. It has packed structs and variable-width integers to allow for easy parsing of bitpacked binary formats. Its comptime metaprogramming capabilities are spectacular. And it even interoperates seamlessly with C!