
String algorithm: Suffix Tries
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 hash functions. The searching time complexity of bloom filter is , just as that of hash table . 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 (the number of hash functions) and (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:
 Receive Your Email from your Gmail account with SMTP protocol;
 Send email with or without an attachment through you gmail account with IMAP protocol;
 Extract the email content into plain texts;
 Transform the extracted text list into a JSON format, and save it into a local JSON file.