データ構造とアルゴリズムを学ぶ方法は?(さあ、できます)

フィールドをマスターする(データ構造とアルゴリズム)

    1. チャンク・イット・アップ

    データ構造(https://naotu.baidu.com/file/b832f043e2ead159d584cca4efb19703?token=7a6a56eb2630548c)

    Pao Ding Jie Niuはデータ構造の知識ポイントを分解します

    知識を一種のセマンティックツリーと見なすことが重要です-ElonMusk

    Qin Chaoは、次のようにデータ構造を分割することを提案しました。

    • 1次元のデータ構造
      • 基本:配列(文字列)、リンクリスト
      • 高度:スタックスタック、キューキュー、両端キューキュー、コレクションセット、マップ(ハッシュまたはマップ)など
    • 2次元データ構造
      • 財団:木、グラフ
      • 上級:二分探索木(赤黒木、AVL)、ヒープヒープ、ディスジョイントセット、辞書木Trieなど
    • 特別な
      • ビット演算、BloomFilter
      • LRUキャッシュ

    アルゴリズム(これらすべての複雑なアルゴリズム、実際、最後の繰り返し単位は何ですか?

    • if-else、スイッチ->ブランチ

    • for、whileループ->反復

    • 递归再帰(分割統治、バックトレース)

    • これがセグメンテーションです。以下は、より高度なアルゴリズムです。

    • 検索検索:深さ優先検索、幅優先検索、幅優先検索、A *など

    • 動的プログラミング

    • バイナリ検索

    • 貪欲

    • 数学、幾何学

      注:上記の各アルゴリズムの考え方とコードテンプレートを思い出してください

      (先に進んで脳の地図を描いてください)

  • 意図的な練習

    • 基本的なスキルの練習(基本的なスキルは、アマチュアプレイヤーとプロプレイヤーの基本的な違いです)
    • 分解トレーニングと基本的な動きの繰り返し練習->>最大の誤解(アルゴリズムの問​​題を犯した場合、1回だけ行うと、これは練習と質問を解くための最大の誤解であり、十分ではありません)
    • 意図的な練習パスの回数(5つの質問、5つの有毒な手のひら)
    • 快適ゾーンの外側の片足で、快適ゾーンの外で欠陥や弱点を練習します(くすみ、味のないイライラが成長です)。
    • 専門的なトレーニングCSGOは、特別な演習用にいくつかのマップを開きます(CSであろうとCS goであろうと、私は自分で233333を練習しました)
    • オサリバンは本当に良いです
    • 動的プログラミングを恐れないでください。数十回の演習の後、あなたは非常に熟練している必要があります。
  • フィードバック

    • 即時フィードバック
    • アクティブなフィードバック(自分で見つける)
      • マスターコード(GitHub、LeetCodeなど)
      • 最初のライブビュー
    • 受動的なフィードバック(マスターはあなたにガイダンスを提供します(これは今私にとって少し難しいです、私はもっと友達を見つけることができるだけです)
      • コードレビュー

    LeetCodeには、他の人が書いた非常に優れたコードがたくさんあります

質問をブラッシングする方法(4点セットのカット質問)

  • 明確化(質問を数回読み、&インタビュアーとさらにコミュニケーションを取り、質問を正しく理解していることを確認します)

    トピックを明確に見ることが重要です

  • 可能な解決策

    考えられるすべてのアイデア。頭に浮かぶ最初のソリューションを使用しないでください。すべての可能な方法を使用して最適なソリューションを見つけるには

    • 計算(時間/スペース)
    • 最適
  • コーディング(もっと書く)

  • テストケース(面接担当者に最初と最後が必要だと感じさせるために、テストケースをさらにいくつか記述します)

五つの毒の手のひら

質問を初めて磨く

  • 5分:質問を読む+考え(基礎が弱い場合は、10分から15分まで自分自身を与えることができます)はここではスキップできません
  • 直接書くための直接的なアイデアを持っています||タイムアウト->>直接読み取り方法!注意!複数のソリューション、ソリューションの長所と短所を比較(アルゴリズムの学習と適用はホイールを作成するためのものではないことを理解してください)
  • そのような良い方法で暗唱して瞑想する(暗記だけでなく、最初に暗記した後、それが一般に理解されます。多くの問題は、後で見るときに反射を条件付けます)(あなたの熱意を攻撃することはできません)

質問をもう一度磨く

  • すぐに自分で書いてください(最初にバグがある可能性があります。デバッグデバッグデバッグ変更変更変更変更は関係ありません)-> LeetCode submit
  • さまざまな書き方と経験->最適化!(最も重要なことは実行時間です)

3回目の質問に答える

  • 24時間後、もう一度質問を繰り返します
  • さまざまなソリューションの熟練度->特別な演習

4パス

  • 1週間後:同じ問題を繰り返し練習する

5回目

面接1週間前の修復トレーニング

おすすめ

転載: www.cnblogs.com/ssaylo/p/12676845.html