雑誌「Software Design」に連載されていた記事をまとめたもの。
この中で覚えておきたいアルゴリズム11個が載っていたのでここにメモ。
0.ユークリッドの互除法(Euclidean algorithm)
1.エラトステネスの篩(the Sieve of Eratosthenes)
2.二分探索(Binary Search)
3.ニュートン法(Newton's method)
4.クイックソート(Quick Sort)
5.マージソート(Merge Sort)
6.ハッシュテーブル(Hash Table)
7.二分木(Binary Tree)
8.ハフマン符号(Huffman Coding)
9.メルセンヌ・ツイスター(Mersenne twister)
10.Trie
ほとんど聞いたことがあったが、最後のTrieは知らなかった。日本語ではトライ木というらしい。
他のも聞いたことはあっても、しっかり中身まで理解しているかというと怪しい。使うことは出来ても、一から自分で実装できるかというと自信がない。どのように実装されているかくらいは知っておかないと。