クイックソート
彼女の次の課題は、再帰的に問題を小さな問題に分解してソートするアルゴリズムであるクイックソートの概念を解読することだった。
眉をひそめて、彼女はメモを書き始めた。
(※ ピボット ⇒ 対象)
熟練した整備士がエンジンを分解するように、彼女はアルゴリズムを解体し、メモをの中で
「ピボットより小さい」 「ピボット」 「ピボットより大きい」
に分類した。
彼女は自分の道具箱を整理するようなプロセス全体を想像した。
ピボットは彼女の信頼できるレンチで、片側には小さなレンチがあり、もう片側には大きなレンチがあった。
彼女がクイックソートを実践するタイミングは、その日の昼休みの大混乱後であった。
またもや、工具箱の中身が散乱していたのである。
腕力よりも頭脳を使ったほうが簡単な仕事だと気づき、勢いでそれを片付けたのであった。
ハッシュテーブル
次は 「ハッシュテーブル」 で、キーと値、ラベルとファイルという彼女のオフィスの古いファイルキャビネットを思い出させるデータ構造だった。
彼女にとって、すべてのキーは引き出しのラベルであり、すべての値は中のファイルだった。
彼女はすぐに、それがどのように機能するのか、なぜ速いのか、どこで使えるのかを理解し始めた。
要素(値)にアクセスするためには、キーを使うのだ。
「みかん」というキーを使えば、みかんの「値段」という値が返ってくる。
逆に、整頓の際にナンバリングした数字(キー)から、モノの名前(値)を引き出すこともできる。
大事なことはキーが重複してしまわないようにすることだ。
ハッシュテーブルが彼女の心をとらえ、彼女はそのコンセプトにすぐさま満足した。リストからそれを消したとき、彼女は達成感を感じた。
ダイクストラのアルゴリズム
次に登場したのは 「ダイクストラのアルゴリズム」 で、これを生み出したに違いない男は屈強だと思わせる、異質な言葉だ。
しかし、彼女はこんなことで引き下がるような人間ではなく、そのコンセプトに真っ向から取り組んだ。
彼女はダイクストラのアルゴリズムが最短経路を見つけるのに使われていることを知った。
彼女はそれをロードマップとして、旅のすべてのポイントをグラフ上のノードとして想像した。
ゆっくりと、彼女はあるノードから別のノードへの経路をたどり、コストが最も安い経路や、最も時間のかからない経路を選び、複数パターンで目的地に到達した。
ダイクストラのアルゴリズムの重要性を理解したのである。
彼女が仕事を終える頃には、真夜中を過ぎていた。
彼女のガレージは勝利のスリルで鼻歌を歌った。彼女はさらにもう一つの知識の山を征服していた。
学習すべき新しいアルゴリズム、解読すべき新しいコードは常に存在していたが、今はただ、自分にふさわしい休息を与えるのだった。
『IT』に関するおすすめ書籍
アルゴリズム図鑑 増補改訂版 絵で見てわかる33のアルゴリズム
中小企業診断士 最速合格のためのスピード問題集(5) 経営情報システム 2023年 [スピードテキストとの反復学習で効果抜群の問題集!](TAC出版)
コメント