5 ポイント 投稿者 GN⁺ 2024-04-27 | 1件のコメント | WhatsAppで共有
  • 学校の数学・科学に苦手意識を持っていた人が、26歳以降に補習数学から学び直して工学教授になった経験を通じて、成人学習における反復と暗記の価値を見直す
  • 数学・科学で概念理解ばかりを強調すると、授業中は理解したように見えても、問題を解きながら内在化できず、熟達度と応用力が不足しうる
  • 日本式の参加型授業がしばしば模範として語られる一方で、Kumon のような放課後学習は暗記・反復・機械的練習によって教材の習熟も高めている
  • 言語を学ぶように語彙・文法・使用条件を反復して身につける方法は、数学の方程式や手順にも適用でき、これは長期記憶にパターンを作るチャンク化(chunking) とつながっている
  • 複雑な主題の深い理解は説明だけでは生まれず、反復・練習・暗記によって形成された流暢さが、職業選択や思考様式まで広げうる

数学恐怖から工学教授へと至った転換

  • 子どもの頃は文学寄りで数学と科学を避けていたが、その後は三重積分、Fourier 変換、Euler 方程式のような数学を毎日扱う工学教授になった
  • 小中高の数学と科学をきちんと乗り越えられず、26歳で Army を離れた後になってようやく補習数学を始めた
  • 大人になってから数学と科学を学び直した経験は、成人の神経可塑性と成人学習を内側から見るきっかけになった
  • システム工学の博士課程と、人間の思考に関する研究・執筆は、学習の神経科学と認知心理学を読み解く基盤になった

概念理解だけでは足りない数学学習

  • 多くの学生は、小中高で討論や説明を通じて数学を理解することが学習の中核だと学ぶ
  • 日本は能動的で理解重視の授業方法の模範としてよく見なされるが、同時にKumon方式は暗記、反復、機械的学習を教材習熟とともに重視している
    • この放課後プログラムに似た方法は、日本と世界の多くの親に、子どもの教育を補う手段として受け入れられている
    • 参加型教育に十分な練習と反復、知的に設計された暗記が加わると、数学教材に対する流暢さが育つ
  • 米国では、数学・科学の概念理解の強調が、古くからの学習方法を補完するのではなく置き換える形で機能する場合がある
  • Common Core は数学において概念理解、手続き的技能と流暢さ、応用能力を等しく扱おうとしているが、実際の実装では概念理解が授業時間の中心になりやすい
  • 理解だけに集中すると、学生は重要なアイデアの核心をつかんでも、練習と反復による統合がないためすぐに失うことがある
    • 実際には理解していないのに理解したと信じる能力の錯覚に陥ることがある
    • 工学の学生の例のように、授業中は理解したと感じても、概念を使って内在化する練習がなければ成果が低くなりうる

流暢さは反復で作られる知識単位

  • ゴルフスイングを何年も繰り返して体が一つの思考だけで動くようになるのと同じく、数学と科学でも手順を毎回あらためて説明しなくてよい状態が必要だ
  • 5×5=25 を毎回ビーズで並べ直す必要がないように、同じ底を持つ数を掛けるとき指数を足すという手順も、反復使用によって記憶からすぐ取り出せるようになる
  • さまざまな問題で手順を使い続けると、その手順の理由と動き方をよりよく理解するようになる
  • より大きな理解は、心が意味のパターンを構成した結果であり、理解そのものにばかり焦点を当て続けるとかえって学習を妨げることがある

ロシア語学習から得た戦略

  • 大学に行くお金も技術もなく、高校卒業後に Army に入り、Defense Language Institute でロシア語を学んだ
  • ロシア語学習では、単純な理解より流暢さを重視する
    • понимать が「理解する」という意味だと知るだけで止まらず、さまざまな時制や文の中で反復的に活用する
    • いつその動詞形を使うべきかだけでなく、いつ使うべきでないかも併せて練習する
    • 単語と構造を素早く想起し、変形できるようになるまで反復する
  • 単語や文法要素を技術的に理解していても、実際の話し言葉が速く流れ込んだときに処理できなければ、流暢だとは言いにくい
  • このアプローチは授業での成果につながり、のちに専門性の発達の核心であるチャンク化を直感的に理解する土台になった

チャンク化と専門性のつながり

  • Herbert Simon のチェス分析では、チャンク化は多様なチェスパターンに対応する神経的単位として概念化された
  • その後、神経科学者たちは、チェスのグランドマスターのような専門家が、自分の分野に関する何千もの知識チャンクを長期記憶に保存していると考えるようになった
  • チェスマスターは何万ものチェスパターンを記憶でき、他分野の専門家も、よく束ねられた神経サブルーチンを意識に呼び出して新しい状況を分析し対応する
  • チェスマスター、救急医、戦闘機パイロットの研究では、緊急ストレス状況で、意識的分析よりも深く刻み込まれた神経サブルーチンを素早く呼び出す処理が働く
  • ある瞬間には、自分がなぜそうしているのかを意識的に理解しようとする過程が流れを断ち切り、判断を悪化させることがある

言語学習法を数学と工学に適用

  • 大人になって数学と工学を学ぶ際、ロシア語習得で使った戦略をそのまま用いた
  • Newton の第2法則 f = ma を例に、各文字の意味を感覚的に身につけた
    • f は力、m は押し出す力への重い抵抗、a は加速の感覚として扱う
    • 方程式を暗記して頭に入れ、m と a が大きいとき f がどうなるか、f が大きく a が小さいとき m がどうなるか、両辺の単位がどう一致するかを見る
  • 方程式で遊ぶ過程は動詞を活用してみることに似ており、単純な式の周囲に、長期記憶から容易に取り出せるチャンク化されたサブルーチンを毎日積み上げる方法になった
  • 数学と科学の教授たちは、練習と反復によってよく刻み込まれた専門性のチャンクを作ることが成功に非常に重要だと言ってきた
  • 理解が流暢さを作るのではなく、流暢さが理解を作り、複雑な主題の本当の理解は流暢さから生まれる

古い流暢さは再び蘇ることがある

  • 電気工学者となり工学教授になった後、ロシア語の使用からは遠ざかったが、25年後に家族とシベリア鉄道に乗ったことで再びロシア語を使うことになった
  • 最初に列車に乗ったときは、ロシア語を2歳児のように話し、単語が出てこなかったり、格変化や動詞活用を間違えたり、発音も悪かった
  • それでも基盤は残っており、日ごとにロシア語は改善し、旅の間に日常的な必要をこなせるようになった
  • その後は、ガイドが他の乗客のための通訳を手伝ってほしいと頼むほどまで回復した
  • モスクワでタクシー運転手が遠回りして料金を多く取ろうとしたとき、何十年も話していなかったロシア語の単語が突然出てきて、意識的には知っていると感じていなかった単語まで必要な瞬間に飛び出した
  • 流暢さは理解を深く埋め込み、必要なときに再び現れさせる

数学・科学教育に残る教訓

  • 数学と科学の専攻者が不足している状況と、現在の学習方法の流れを見ると、学習者はよりよい方法を使うことができる
  • 親と教師は、理解を深く柔軟にする単純で取り組みやすい方法を活用できる
  • 数学、ダンス、物理、言語、化学、音楽のように、あまりに難しいと思っていた分野にも新たに挑戦するよう励ますことができる
  • 数学と科学では、基本的で深い流暢さは単なる理解より重要であり、興味深い職業へとつながる扉を開きうる
  • 文学と言語を愛するようにした流暢さの力は、結局は数学と科学を愛するようにしたのと同じ力であり、人生を変え、豊かにした

1件のコメント

 
GN⁺ 2024-04-27
Hacker News の意見
  • この記事は本当に良かった。特に「理解が流暢さを生むのではなく、流暢さが理解を生む」という一文が印象的だった。
    数学は好きで大学でも専攻したが、家族は科学志向ではあったものの、数学そのものは不透明で威圧的に感じていたように思う。ピタゴラスの定理を直感的に感じるには、ユークリッド空間についての深い洞察が必要なのではなく、直角三角形を見た瞬間に証明が3つすぐ思い浮かぶくらい練習を重ねる必要があるのだ、と当時答えてあげられればよかったと思う。著者が自分の話を多くしているのも適切だ。数学恐怖から数学の熟達へ移行する主観的な認知体験を説明するには、背景や内面のプロセスへの認識を語るしかない

    • Grant Sanderson(3blue1brown)の講演 https://youtu.be/z7GVHB2wiyg?si=jcUtUo-TT3ycpTpD を思い出す。
      表面的には数学における自己についての話だが、賢く見られたいという欲求は、元記事が述べたような形で数学力の助けになると思う。賢く見られたいなら、自分で思いついたのか本で読んだのかは重要ではなく、知っていることを示し、問題を簡単に解くことが重要になる。だから一生懸命読み、覚え、自慢できる巨大な精神的データベースを積み上げていくと、最終的には本当に得意になる
    • 「直角三角形を見るとピタゴラスの定理の証明が3つ即座に思い浮かぶとき、それは直感的に真になる」という言葉は、結局数学の空間の中で方向感覚を得るという意味のように聞こえる。
      道しるべである証明によっても道を見つけられ、空間そのものへの深い理解によっても道を見つけられるなら、数学的直観には、練習と流暢さの道、深い洞察と理解の道という2つの経路があるのではないかと思う
    • 「若者よ、数学では何かを理解するのではない。ただ慣れるだけなのだ」
  • 「数学」と呼ばれるものには大きく2つのカテゴリーがあるように見える。Aはこの記事で言っている数学で、普通の人が言う数学であり、エンジニアや大半の科学者が使うもの。Bは数学専攻者や数学者が使う数学で、抽象的で、名前が「理論」で終わる領域が多い。
    この記事のアプローチで数学Bを学べるのか気になる。何度も試したが失敗しており、微分方程式・線形代数・記号操作・幾何と実問題への応用のような数学Aには熟達している。一方で数学Bは手が届きにくく見え、プログラミングでいえばHaskellや純粋関数型プログラミングのようにつかみどころがない。一部は遺伝で、一部は幼い頃に学ぶべきものなのか、それとも正規の学習経路が必要なのか気になる

    • ここには数学Cもあるように思う。日常的な暗算のことで、工学の学位を持ち数学Aが得意でも、私はこれがひどく苦手だ。
      もう1つの数学Cの要素として数感覚があり、見積もりや電卓画面の値が妥当なのか明らかに間違っているのかに気づかせてくれる。暗算が弱い理由は、九九をきちんと全部覚えられなかったせいもあるし、方向感覚が悪いのと似て、脳に足りない部分があるせいでもあると思う。だが、数字が最後まで重要でない記号操作は得意だ
    • 高校のとき、最初の学期の微積分でDを取り、「数学は終わった」と宣言した。それまでは電卓を松葉杖のように使っていたが、微積分はごまかしのきかない記号操作を要求した。
      「数学が苦手だ」とよく言っていた父の影響が大きく、それは楽な逃げ道だった。その後、プログラミングを真剣に学び、複数の言語を身につけてすぐにWeb開発の仕事を始めたが、数年後に飽きて工学をやってみようとコミュニティカレッジに入学すると、すべての工学科目に数学の前提科目があった。初めてきちんと努力してみると、本質的に数学が苦手だったのではなく、動機が足りなかっただけだと分かった。チュータリングセンターで働きながら大学に編入し、次第により多くの数学の前提科目を履修して、最終的には数学専攻に進み、今では数学博士になった。20代半ばまで、自分が数学Aをできるとは信じていなかったが、工学のために得意になり、そのまま数学Bへ進んだ。プログラミングは厳密で抽象的に考える方法を教えてくれたし、25歳以降になって初めて数学Bをやったので、これが生まれつきのものだとか、幼い頃に学ばなければならないものだという考えには反対だ。ただし正規教育の利点は、一緒に勉強する学生集団、課題の締め切り、試験といった外的な強化があったことにある
    • 数学Aが好きで専攻したのに、専攻を深く進めると数学Bに変わっていった。
      当時は数学Bが嫌いだったが、中の上くらいの成績で耐え抜いた。今振り返るとむしろ好きになっていて、その授業を今の視点でもう一度受けたいと思う。最初に嫌いだった大きな理由は、好きで得意なものを専攻として始めたのに、突然まったく別のものに変わるおとり商法のように感じたからだ
    • 純粋関数型プログラミングは、実はとても理解しやすい。プログラミングを、状態に触れたり変更したりすることではなく、入力から出力を作り出すことだと考えればよい。
      アナログ電子工学もおおむね純粋関数型の領域で動作する。増幅器は入力信号を変えようとするのではなく、入力の形に沿ってより強い出力信号を作るし、楽器の音源も鍵盤を振動させるのではなく、押されたキーに応じて音声信号を作る。実用的な純粋関数型プログラミングを最も簡単に試すには、Unixプロセスをパイプでつなげばよい: cat somefile.py | egrep '^def \w+' | wc -l。これはポイントフリースタイルのmap-reduceパイプラインであり、純粋関数合成でもあって、Pythonファイルのトップレベル関数を数える。更新は、出力値を再び入力に戻し、計算が終わったら「次のバージョン」へ切り替えればよい。Conwayのライフゲームもその場更新のように見えるが、新しい盤面状態は以前の盤面状態から完全に計算され、その新しい盤面が現在の盤面になる。一般に宇宙も、次の状態が過去の状態群の関数であり、過去は不変である純粋関数型計算として見ることができる
    • 秘密は、数学Bの大半を項書き換えシステムの規則に変えれば、数学Aのように扱えるという点にある。
      証明の各ステップを、数学的表現という項を変換する規則として見ればよい。この点を完全に明示している本は見たことがないが、シーケント計算を扱う本は半分くらいまで連れていってくれる。残りの数学Bは、新しい予想を立て、仮定から証明したい命題へ効率よく進む道を推測させてくれる直観である
  • コンピュータサイエンスの学部・大学院を経て医学部に入ったとき、暗記の価値について似たような結論に至った
    CSでは実際のところ暗記はあまり重視されないため、大量暗記を学習手法として受け入れるのに時間がかかったが、やがて素早い想起は概念理解を置き換えるものではなく、むしろ強化するものだと分かった。数年前にこの件について書いた記事もある: https://samrawal.substack.com/p/on-the-relationship-between-...

    • Nicholas CarrのThe Shallowsから得た結論も似ている。情報を導く方法やどこで探せばよいかを知っていることと、その情報を知っていることは別であり、頭の中でより高次のつながりを作るには、実際にその情報を知っていなければならない
    • 関連スレッド: “Learning Is Remembering”: https://news.ycombinator.com/item?id=32982513
  • 著者は自分語りが本当に好きなようだ。最後まで読みはしたが、文章全体が見返りのない長い導入部のように感じられた
    数学がもっと得意になり、脳を数学向きに変える方法を知りたいなら、この記事を読んでもあまり賢くなった気はしないと思う

    • 純粋に伝記的な段落は飛ばしたが、重要な部分はこの程度だ
      暗記と反復練習は学習に重要であり、当時流行していた「理解」だけでは不十分。こうした土台があってこそ、公式の理解や応用といったより高いレベルに集中できる。専門家は記憶のチャンクを作り、チェスのマスターが何千もの過去の対局、オープニング、変化を引き出すように活用する
    • 「脳を再配線する」という言葉が正確に何を意味するのかよく分からない。要するに長く勉強しなければならないということだ
      大人にとって難しいのは時間を作ることで、特に仕事がすでに精神的な負担になっているならなおさらきつい
    • この記事は一文に縮められると思う: 「内面化したい概念は、単なる暗記に頼らず、操作して遊べ」
      f=maのようなものを暗記するだけでは、理論的・実践的な応用を試みなければ意味がないのは当然に思える。外国語学習とSTEMを結びつけようとする試みもぎこちなく、結局すべては技芸なので、完璧になるには練習しなければならない、という結論に近い
    • 「数学に流暢になるよう脳をどう再配線したのか」を知りたいのに、今のところ見たのは著者がどれほどすごいかを語る内容ばかりだ。この記事はいまいち
    • がっかりした。著者の本A Mind For Numbersは良いと思っていたからだ
  • 関連リンク
    I Rewired My Brain to Become Fluent in Math - https://news.ycombinator.com/item?id=33890921 - 2022年12月
    I Rewired My Brain to Become Fluent in Math (2014) - https://news.ycombinator.com/item?id=13674101 - 2017年2月
    The building blocks of understanding are memorization and repetition - https://news.ycombinator.com/item?id=12508776 - 2016年9月
    How I Rewired My Brain to Become Fluent in Math - https://news.ycombinator.com/item?id=8402859 - 2014年10月
    How I Rewired My Brain to Become Fluent in Math - https://news.ycombinator.com/item?id=8400837 - 2014年10月

  • 数学教育に歴史と哲学がもっと入るとよいと思う。学校で数学が得意でなかったのは、適性というより、あまりにも退屈で、子どもの頃に興味を持っていたものと切り離されていたからだ
    数年後、数学の知識をゆっくり追いつかせようとする中で、数学者たちの人生や出来事が研究に与えた影響、数学哲学に関連するテーマに最も興味を感じている。学校の数学の授業は計算と公式だけに集中していて、こうした内容はなかった。会計も同じだった。切り離して見ると退屈だったが、イタリアの複式簿記の歴史や1500年代以降の世界貿易と結びつくと面白くなった

    • 自分も似ている。何年もソフトウェアエンジニアリングをして、数学とソフトウェアエンジニアリングの共通点が見えるようになって、ようやく数学が好きになり始めた
      数学は「数のためのソフトウェアシステムを作るが、自分が同時にコンパイラでもある」ように感じる。知的な観点では、数学を定量的哲学と呼びたいし、哲学も好きだ
    • あらゆる分野に当てはまる。公教育は全般的にひどく、子どもたちを1日8時間、20年間も箱に押し込め、さまざまなテーマを最も乾いた形で学ばせる
      個人的な関心を追求する自由がないのはもちろん、歴史・数学・生物のような主要科目も、教科書に載せて多肢選択式テストで評価できる事実の束へと縮減されている
    • もしかすると本当に好きなのは会計や数学ではなく、歴史なのかもしれない
    • 数学教育の大きな嘘は、今知られているすべてのことが、数学的思考を生まれつき備えた数学者たちの頭の中に完成形で突然現れたかのように教えることだ
      実際には、数学のあらゆる進歩は、たいてい工学的応用のために、人々がより初期の形の数学で何十年も数字を扱ってきた結果として発展したものだ。数学の革新者たちも長い間同じようにつまずいていたのだと学生が知れば、自分の能力にもっと自信を持てると思う
    • そうすると、数学ではなく哲学と歴史を教えていることにならないかと思う
      テーマに入るための優れた物語的なフックにはなり得るが、結局のところ数学は計算・公式・証明に関するものではないか
  • 副題の「教育改革者には悪いが、私たちに必要なのは今も暗記と反復だ」について、教育改革者たちは何と言うのか気になる
    不必要に対立的に聞こえるし、文章の核心からも少し外れているように思う。この記事は数学において練習と反復使用が重要だと言っているが、40年前のアメリカ式数学教育に戻ろうという意味ではなさそう。高校のとき、行列の掛け算をどれだけ速くできるかで評価され、行列をばかげたものだと思っていたが、大学で線形代数と結合振動子を学んで、かっこいいと感じた。だから教育改革とは、意味のない反復作業を減らし、実際に使う文脈に集中しようということだと思っていたのだが、私の理解が間違っているのだろうか

    • イギリスでチャータースクールのようなことをしていた女性が、達成度が低いと見なされていた生徒たちを対象に成功したというインタビューを聞いたことがある
      核心は訓練、多くの訓練、さらに多くの訓練だった。教師は採点が退屈で嫌がり、生徒は面白くないので嫌がるが、反復訓練には効果がある。Super Mario Bros.の同じステージを、ジャンプのタイミングが合うまで繰り返すのと変わらない。数学の事実のようなものを覚えさせるには、訓練をゲーム化するのがよいとよく思っていたが、アメリカの教育システムにはこうした方法へのアレルギーがあるようだ。代わりにアメリカの教育システムは、金の流れる先に従って、誇張された流行から次の流行へと渡り歩くことに依存しているように見える
    • これは教育界ではかなり論争的な立場なので、多少戦闘的に言う理由はある
      多くの教育は、生徒の現在地に合わせることを重視するあまり、ある知識に概念として向き合うときに避けられない複雑さそのものを覆い隠してしまうことがある。ときには、大きくて突破しにくい抽象を先に暗記し、応用を通じて意味を作っていくほうがよい場合もある。多くの知識は、言われていることをぼんやりとしか理解していない状態でも前に進み、試してみる自信と意志、特にフィードバック機構を持つことで、より明確になっていく
    • 私も似たようなものだったが、美術学校には代数学がなかった。コンピュータがどう動くのかを知ろうとして、数学がなぜ面白いのかを学んだ
      大きな穴があることは分かっているが、必要な分だけは数学を使える。今は数学そのものは避け、数学の形だけを使おうとしている
    • イギリスの教師 Twitter には、騒がしいが礼儀正しく争う二つの陣営、つまり伝統派と進歩派がある
      どちらも教育心理学の研究を根拠に挙げ、進歩派は主に大きな機関や国際研究に依拠し、伝統派は自分の教室で研究していることが多い。イギリスの公的試験では伝統派の生徒のほうがよくできるようだが、それは試験の産物かもしれない。また、教師の半数は5年以内に職を離れる。40年あれば、およそ8世代の教師がそれぞれのバイアスで訓練を受け、教室で考えを練ったあと、次の世代を訓練してきた時間になる。そこに教育心理学の学派の流行サイクルや政府の政策変更まで重なるので、40年前の教育実践は歴史というより考古学に近い
    • 大学数学を教えていたとき、速い行列の掛け算どころか、速い掛け算もできない学生が多かった
      必然的に、私たちが学ぼうとしていた高い抽象レベルから何度も降りて、算術という低い抽象レベルを処理しなければならず、その結果、高い抽象を学べなかった。オブジェクト指向言語があらゆる抽象を作れるのに、数の掛け算ができないと想像すればよい。アルゴリズムで掛け算が必要になるたびに、同じことをするアセンブリ数行を自分で書かなければならないなら、どれほど効率が落ちるだろうか。単に掛け算の練習をすべきなのだ
  • 大学の数学授業を受けていたとき、自分が理解したと思っていたことと、実際の問題がどれほど混乱を招くものかとの間に、常に大きな隔たりが見えた。著者がその現象について語ってくれてうれしい
    そのテーマを本当に理解している少数の学生にとって、問題は単なる反復作業だが、理解していない学生にとっては学習過程で最も重要な部分だ。数学を理解する方法は正確に一つ、実際に数学をすることである。そのやり方はさまざまであり得るが、問題を解くことは重要だ。問題は興味深いものであるべきだと信じているが、反復想起も同じく重要である

    • コーディングも同じだ。問題に対して十分に準備した状態で臨み、何をすべきか分かっていると思っていても、実際には多くの反復実験と何度もの試行を経てはじめて、その問題を賢く解くための知識が得られることが多い
  • 著者がどこの教授なのかを見て、ようやくつながった。Coursera の Learning How To Learn の講師の一人だ: https://www.coursera.org/learn/learning-how-to-learn

  • FAANG の面接対策をして落ちてから考えると、通過するには LeetCode を一通りこなし、グラフ探索のパターン、木の幅優先探索と深さ優先探索、再帰パターンなどを暗記するしかないように見える
    自然な問題解決のやり方で解くと、LeetCode の問題1つに数時間から数日かかる。この記事やテック業界の基準に従えば、暗記こそが知性ということになる。これまでずっと、テーマは理解し、暗記は避けてきたが、今はひどいインポスター症候群に苦しんでいる。面接を通過したもっと賢い人たちの中にいる資格がないのではないかと思い、今のテック系の仕事を自分から辞めることまで考えている。テック業界の面接方式は正しいのだろうか。助けが必要だ

    • テック業界でかなり長く働いているが、FAANG 方式に近い面接を受けたことはなく、面接からオファーまで1週間以上かかったこともない
      FAANG レベルの収入は得ていないが、米国の第3級都市圏で、同年代の地域中央値所得の2.5倍以上は安定して稼いできた。FAANG の面接はゲームだ。あれほどひどく、準備が必須になっている理由は、候補者層を適合する人たちに偏らせ、十分に必死な人または時間に余裕のある人を選び、同格の会社へ移りにくくして賃金を下げ、最後に通過儀礼のようなプロセスで結束感を作るためだと思っている。個人的に受け止めなくていい
    • LeetCode の問題の大半は、CLRS を教科書に使う授業を最近受けたCS 専攻の新卒が学んだ内容に基づいている
      この背景があると仮定すれば、成功の鍵は問題解決能力を伸ばすことだ。最近 CLRS ベースの授業を受けていないなら、それらの概念をより多く暗記し、練習する必要があるのは自然なことだ
    • Apple で面接を受けて働いたことがあるが、チームごとの差が非常に大きいので、参考程度に考えるべきだ
      基本的にうまくできる必要があるのは、主要なデータ構造の実行時間計算量を覚え、自分がコードを書くプラットフォームで提供されている主要な構造に慣れておくことだ。Java 中心のチームでは、複数の Map 型、PriorityQueue、Stack、配列、Java の参照の挙動を覚えていることが重要だった。こうした構造がいつ有用かをある程度直感的に分かっていれば、アルゴリズム部分はそれほど難しくなかった。たとえば面接では LRU キャッシュ、特にすべての操作が定数時間である LRU キャッシュの実装を好むようだった。最も簡単な方法は、双方向連結リストを作り、そのノードがハッシュマップ内のラッパー型を指すようにすることだ。極端に難しいわけではないが、どのデータ構造が有用かに慣れている必要があり、この場合、初心者がよくやるミスは最小ヒープでやろうとすることだ
    • 深さ優先探索は名前のとおり、深さから探索するものだ。そこで何を「暗記」する必要があるのかよく分からないが、略語を覚える必要があるというなら、それは重要だと思う