# Trie

A trie is a tree representing a collection of strings with one node per common prefix. It is a natural tool to manage either a set or a map where keys are strings. In a trie tree:

• ## String Algorithm: Bloom Filter

Just like hash table with multiple $(k)$ hash functions. The searching time complexity of bloom filter is $O(k)$, just as that of hash table $O(1)$. For hash table, in order to keep the the false positive rate sufficiently low, the array must be very large to make sure that only a small fraction of bits are set to 1. Whereas for Bloom filter, the fraction could be relatively big (~50%) if the number $k$ (the number of hash functions) and $m$ (the size of bit array) are properly set.

• ## String Algorithms: KMP in python

KMP is fantastic. There are some practical ideology in its design.

• ## Enabling MathJax to Have Math Equations Supported in Your Google Blogger

Blogspot, the Google’s Blogger, is not officially supported by MathJax. A lot of guys tried to make it work for blogspot. I also saw a lot of blogs hosted on Wordpress that looks beautiful and attractive with perfect fonts, line spacing, and professional Mathematic Equations as well. I myself finally managed to have my blogspot support MathJax script too, today. If you like the appearance of my blog, here’s what I did today:

• ## Learning Python: Write a Simple Gmail Client & Extract its Texts into a JSON File

To learn Python with practice, I write the code of a Simple Gmail Client. I implemented the functions as below: