ホーム » スタッフ » 斉藤徹 » 講義録 » 情報構造論 (ページ 6)

情報構造論」カテゴリーアーカイブ

2025年10月
 1234
567891011
12131415161718
19202122232425
262728293031  

リンク集

検索・リンク

ハッシュ法

ここまでの授業では、配列(データ検索は、登録順保存ならO(N)、2分探索ならO(log N)となる、2分探索ができるのは配列がランダムアクセスができるからこそ)、単純リスト(データ検索(シーケンシャルアクセスしかできない […]

Continue Reading →

コンパイラと正規表現とBNF記法

コンパイラと言語処理系 2分木の応用の構文木について、この後説明を行うが、構文木を使うコンパイラなどの一般知識を事前に説明しておく。 高級言語で書かれたプログラムを計算機で実行するソフトウェアは、言語処理系と呼ばれる。そ […]

Continue Reading →

2分木による構文木とデータベースとB木

コンパイラの処理の流れ 構文の構造を表すために、2分木を使うという話をこの後に行うが、その前にコンパイラが機械語を生成するまでの処理の流れについて説明をする。 Cコンパイラのソース   ↓ プリプロセッサ (#defin […]

Continue Reading →

意思決定木と演算子

データをO(log N)で検索するための2分探索木以外の2分木のデータ構造について解説を行う。 意思決定木 意思決定木の説明ということで、yes/noクイズの例を示しながら、2分木になっていることを 説明しプログラムを紹 […]

Continue Reading →

AVL木と2分ヒープ

2分探索木へのデータ追加と不均一な木の成長 先週の講義で説明していた、entry() では、データを追加すべき末端を探し、追加する処理であった。 しかし、前回のプログラムで、以下のような順序でデータを与えたら、どのような […]

Continue Reading →

2分探索木

配列やリスト構造のデータの中から、目的となるデータを探す場合、配列であれば2分探索法が用いられる。これにより、配列の中からデータを探す処理は、O(log N)となる。(ただし事前にデータが昇順に並んでいる必要あり) // […]

Continue Reading →

双方向リストとdeque

番兵と双方向循環リスト 前述の bd_insert() だが、データの先頭にデータを挿入したい場合は、どう呼び出せば良いだろうか? bd_insert() で、末尾にデータを挿入する処理は、正しく動くだろうか? 同じく、 […]

Continue Reading →

ランダムアクセス・シーケンシャルアクセスから双方向リスト

ランダムアクセスO(1)とシーケンシャルアクセスO(N)の説明を踏まえ、リスト構造のO(N)の改善にむけた解説を行う。 リスト構造の利点と欠点 リストを使った集合演算のように、データを連ねたリストは、単純リストとか線形リ […]

Continue Reading →

集合とリスト処理

リスト構造は、必要に応じてメモリを確保するデータ構造であり、データ件数に依存しないプログラム が記述できる。その応用として、集合処理を考えてみる。集合処理の記述には、2進数を使った方式やリストを用いた方法が一般的である。 […]

Continue Reading →

スタックと待ち行列

前回の授業では、リストの先頭にデータを挿入する処理と、末尾に追加する処理について説明したが、この応用について説明する。 計算処理中に一時的なデータの保存として、スタック(stack)と待ち行列・キュー(queue)がよく […]

Continue Reading →

システム

最新の投稿(電子情報)

アーカイブ

カテゴリー

メタ情報