Recur: correct word Recurse: wrong word
If your branching factor is c\sqrt{n}, then you need to have \log (\log n) many levels in the tree.
Note that O(\log (n!)) = n\log n
Advantage:
can be asymptotically faster
often simpler to write (not always)
break symmetry
Disadvantage:
unpredictable
hard to debug and analyze
We say W(n) \in O(f(n)) if, for any constant k:
We want the k to be the same because as the function W(n) violates more and more by constant k compared to f(n), we want it to be higher probability.
Expectation: E[X] = \sum_{a \in \Omega} Pr\{a\} \cdot X(a)
Linear Expectation: X = X_0 + X_1 \implies E[X] = E[X_0] + E[X_1]
Union Bound: Pr\{A \cup B\} \leq Pr\{A\} + Pr\{B\}
Markov Bound: for non-negative random variable X \geq 0 \land a > 0 \implies Pr\{X \geq a\} \leq \frac{E[X]}{a}
Conditional Probability: Pr\{A \cap B\} = Pr\{A\} \cdot Pr\{B | A\} = Pr\{B\} \cdot Pr\{A | B\}
c^{k \log n} \simeq n^{k \log c}
Table of Content