This code was used during a presentation in PHPnRio 2012 conference. The main goal was to show the importance of algorithms knowledge to develop interesting solutions such as that famous "Did you mean" on google searches.
This idea was inspired by the project spellchecker-example.
I've talked about how important is knowing different algorithms and think about their complexity. For that, I've highlighted the following topics:
- Algorithmic complexity and big O notation
- Dynamic programming
- Memoization
- Recursion
- Levenshtein distance
- Trie
It may not make sense for you :), but I've used this mindmap to guide the slide presentation:
- Who am I
- Motivation
- Modeling problems
- Oranges and camels
- Graphs and maps
- Looking for a name
- How much diferent are the words
- Levenshtein distance
- Recursive implementation
- PHP Example
- Fail
- Iterative implementation
- PHP Example
- Dynamic programming
- Memoization
- Trie
- Recursive implementation