Fenwick trees, Caches, Splay Trees, Prefix Trees (Tries), Substring-Search Algorithms and Travelling Salesman Problem