Академический Документы
Профессиональный Документы
Культура Документы
About Me
Cosmin Boaca
Passionate about algorithms, data
structures and big data
Silver / Bronze medal at National
Olympiad in Informatics
Internships at Intel, Facebook and
Adobe
C++ fan(anatic)
Trie
In memory data structure used for
storing strings in sorted order
Trie
In memory data structure used for
storing strings in sorted order
Operations supported
Insert(key)
Find(key)
Erase(key)
LongestCommonPrefix(key)
Iterating over the keys in ascending /
descending order
Trie
Execution time for all operations is
proportional to the length of the key,
regardless of the number of keys that
are currently stored in the data
structure
Trie
Trie
Node structure:
struct Trie {
bool isKeyEnd;
Trie *sons[ 26 ];
};
Trie
Downsides
High memory consumption (each node
has SIGMA sons) where SIGMA is the
dimension of the alphabet
Most of those sons arent even used
Boost vs Corporate
Boost
Best people in C++
over the world
A lot to learn about C+
+ and programming in
general
Hardcore code review
Insanely high code
quality standards
Remote collaboration
Average programmers
Corporate
Using only a small
subset of C++
features
More relaxed code
review
Code quality
standards emphasize
readability and
maintainability
Work environment