備忘録
データ構造
連結リスト
ノードの並びを表すデータ構造.双方向連結リストでは,前のノードと次のノードの位置を示す.
木,トライ木,グラフ
木はノードで構成されるデータ構造であり,グラフはノード同士に辺を持った者の集まりである.まだあんまり理解できていない.
スタックとキュー
スタックは,後入れ先出しのデータ構造で,キューは先入先出しのデータ構造である.
ヒープ
子ノードが常に親ノードよりも大きいか等しい(もしくは常に親ノードよりも小さいか等しい)木構造のことである.
ベクタ,配列リスト
配列の長さを自由に変更できる配列のこと.
ハッシュテーブル
キーとインデックスを関連づけたデータ構造.
アルゴリズム
幅優先探索
同じ深さの要素を先に走査するアルゴリズム.
深さ優先探索
ノードを行けるところまで走査して行き,詰まったら他の路に切り替えて走査するアルゴリズム.
二分木
in-order,post-order,pre-order走査がある.
マージソート
配列を要素が一つずつになるように二分割して行き,並び替えるアルゴリズム.
クイックソート
適当な基準値を設定し,その大小でグループを作成する.グループごとに同じことを行い,並び替えを行うアルゴリズム.
概念
ビット操作
ビット単位でデータを操作すること.シフトやxorなど.
メモリ
スタックはCPUによってメモリが管理されており,ヒープは自分でメモリを管理する必要がある.大きさはヒープのほうが大きい.
再帰
関数が自身を呼び出すテクニック.
動的計画法
大きな問題を小さな問題に分割して考え,最終的な解を得る方法.
ビッグオー記法,スペース
ビッグオー記法とは,空間計算量や時間計算量がどのように増加していくかを簡易に表す方法.スペースは文字リテラル.
自分なりに解釈したものなので間違えてたら教えてください.