2021年12月22日発売の書籍『教養(インテリ)悪口本』(堀元見著・光文社刊)より、今日から使えるインテリ悪口を抜粋してお届けします。イラッときたときやモヤモヤしたときに使って、ディスりたい気持ちを教養に変えてみてはいかがでしょうか。
「スタック」は、その名の通り、積み重ね(stack)である。
コンピュータ・サイエンスを専攻していた大学生の時、必修科目の教科書として『アルゴリズムとデータ構造』という分厚い本を買わされた。実に4500円・486ページの本である。僕はその分厚さを見て、「聖書じゃないんだから」と思った。しかし、この後に僕は己のツッコミを反省することになる。この本は聖書だった。「コンピュータの世界における本質は何か?」と問われたら、答えは2つだ。ずばり、アルゴリズムとデータ構造である。アルゴリズムとは、「どのように計算するか?」であり、データ構造とは、「どのように記録するか?」である。つまるところ、我々がコンピュータに求めることはこの2つしかない。コンピュータのやっている作業は計算と記録の繰り返しであって、それ以上でもそれ以下でもない。だからこそ、アルゴリズムとデータ構造はコンピュータ・サイエンスの全てであると言えるだろう。そして、本書『アルゴリズムとデータ構造』は、タイトルから分かるように、その全てが詰まっている。これはコンピュータ・サイエンスにおける聖書なのだ。……ごめん、それはサスガに言い過ぎかもしれない。でもいずれにせよ、素晴らしい本である。僕は特別に勉強熱心な大学生ではなかったが、それでもこの本の魅力に取り憑かれたし、コンピュータ・サイエンスの楽しさはこの本に教えてもらった。専門書というのは必要に駆られて仕方なく読むものだと思っていたが、この本だけは普通に面白かったから全部読んだ。後にも先にも、そんな経験は人生で一度だけだ。アルゴリズムやらデータ構造やらについて考えることは、パズル的な面白さがありつつ、身近で使われている技術の勉強にもなるという一石二鳥っぷりだった。そこで、この面白さを皆さんにも簡単に伝えてみようと思う。最も基本的なデータ構造は何かと言われたら、2つ挙げることができる「スタック」と「キュー」だ。「スタック」は、その名の通り、積み重ね(stack)である。あなたの家の食器棚の皿をイメージしてもらいたい。皿をしまう時は一番上に重ねるだろうし、使う時は一番上から取るだろう。つまり、「最後に入れたものを、まず使う」というデータ構造だ。一方、「キュー」は、待ち行列(queue)である。ラーメン屋の行列をイメージしてもらいたい。次にお店に入る人は誰かというと、最初に並んだ人である。つまり、「最初に入れたものを、まず使う」というデータ構造だ。この2つは状況に応じて使い分けていくべきものなのだが、コンピュータを使って問題解決をする時に使いこなさないといけないのは、どちらかというとスタックの方である。コンピュータの中身は、めちゃくちゃ忙しいベンチャー企業に似ている。そこでは常に大量の仕事が舞い込んできて、皆パニックになりながら何とか仕事をこなしている。このあまり好ましくない職場で働いてることを想像して欲しい。あなたは、経理の書類を書く仕事をしている。一ヶ月後の決算日までに処理しなければいけない書類を、一生懸命書いている。しかし、ここであなたの上司から緊急の司令がやってきた。「明日使う契約書をチェックしなきゃいけなくなった!
『教養悪口本』 堀元 見/著
使用例「それ確証バイアスじゃない?」「ボキャブラリーをスタックで管理してるのかよ」参考文献・ 石畑清『アルゴリズムとデータ構造』(岩波書店)
最終更新:本がすき。