#21.05.14 Section5 - Sprint2 (2)


TDL
NOTE2
データ構造の活用

  • 検索
  • 特定のノードを追加または削除するには、
  • を優先的に検索する必要があります.
  • 以上のアルゴリズムを使用する場合、最適なアルゴリズムパスを測定するために使用されます.
  • 検索
  • の集合がランダムでソートされていない場合、線形検索は基本的な検索方法である.

  • 再回帰
  • アルゴリズムと方法論ではよく言及されていますが、これは重要な概念なので、繰り返し学習することが重要です.
  • 再帰の概念は数学的思考に基づいており,コードを記述する前に問題を解決するコールバックロジックを発見する必要がある.数学を習うように手でたくさんの問題を解く!
  • 再帰呼び出しはスタックの概念を採用し、関数の内部はスタックのように管理される.(LIFO、後入先出)
  • 欠点:再帰を使用すると、関数のループ呼び出しが発生するため、より多くのメモリが使用されます.
  • 数学的に概念が複雑であれば、時間と空間(メモリ)の複雑さの面で効率が悪くても、再帰を使用して問題を解決することが望ましい.

  • トラブルシューティングに戻る
  • は解決可能なサブ問題に分かれています!
  • 再帰は多様な問題を解決することができ、代表的なのは「分割征服法」である.
  • 回帰では,条件による繰返し計算に重点を置く必要がある.

  • 分割征服法
  • はどのように1つの問題を分割し、解決し、再結合するか
  • .
  • 再帰は、問題を解決するために特定の機能を再呼び出し、分割征服は、問題を分割および解決するための具体的な方法論である.

  • さいかいきじょうけん
    1)basecase(基本条件)が必要です.
    -アルゴリズムは反復を停止します.
    2)付加条件と基本状況の違いを確認する.
    3)自己(関数)を呼び出す必要があります.

  • ツリー(Tree)
  • 本(ルート):一番上のノード(1つのみ)
  • サブツリー:親ノード+サブノードとしてのツリー
  • 回数:最大サブノード数
  • リーフ:最後のノード(Terminal Node,External Node)
  • level:ルートノードからどのくらい離れていますか.木の層.レベル0、レベル1等
  • 高さ:レベルの最大値
  • 兄弟姉妹(兄弟):親ノード

  • バイナリツリー
    :ノードごとに最大2つのサブノードがあります.(left, right
  • ツリータイプで最も基本的な
  • 左から右へ
  • を検索する構造(接続リストを参照)
  • バイナリツリーの2つの条件
    -ルートノードを中心に2つのサブツリーに分割
  • に分割された2つのサブツリーにも2つのサブツリーがあります(ノード値がない場合があります).

  • バイナリツリーのタイプ
    1)飽和バイナリ

    2)完全バイナリツリー

  • ノードを上から下へ塗りつぶす

  • ノードを左から右に順に塗りつぶします.

    3)バイナリ検索ツリー(バイナリ検索ツリー、BST)

  • ノードの特定のタイプのバイナリツリーを正確に位置合わせします.

  • 値サイズ条件:right child>root node>left child(繰返し値x)

  • 検索順にノード値を昇順に取得

  • 検索しやすいので、ノードを挿入しやすいです.

  • ソースコードの流れと理論の流れをゆっくりとマッピングすることが重要であることを理解することが重要である.

  • データ構造の接続リスト、キュー、スタックを実装するロジックと同様です.

  • 値を論理的に交換するプロセスが表示されます.