Code Explainers

Code explainers tagged #tree-traversal

java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

Building a trie for autocomplete in Java

trie prefix-tree recursion
Intermediate 8 steps
python
from typing import Any
 
_MISSING = object()
 

Recursively diffing two JSON structures

recursion sentinel tree-traversal
Intermediate 8 steps
typescript
type Change =
  | { kind: "added"; path: string; value: unknown }
  | { kind: "removed"; path: string; value: unknown }
  | { kind: "updated"; path: string; from: unknown; to: unknown };

Building a recursive deep-diff in TypeScript

recursion discriminated-unions type-guards
Intermediate 9 steps
ruby
class ConfigFlattener
  def initialize(config)
    @config = config
  end

Flattening nested config into dotted keys

recursion hashes tree-traversal
Intermediate 8 steps
python
from collections.abc import Mapping
from typing import Any, Iterator
 
 

Flattening nested config into dotted keys

recursion generators tree-traversal
Intermediate 7 steps
python
from pathlib import Path
 
 
def print_tree(root, prefix="", show_hidden=False):

Printing a directory tree with recursion

recursion filesystem sorting
Intermediate 6 steps