木構造の探索・深さ優先探索・幅優先探索
深さ優先探索(前順) 以前紹介した2分木の表示では、再帰呼び出しで木の処理を記述していた。 しかし、スタックを使って未処理のノードを保存しながらノードに対する処理を行えば、ループ処理で「すべての木のノード」に対する処理を […]
2分木による構文木
コンパイラの処理の流れ 構文の構造を表すために、2分木を使うという話をこの後に行うが、その前にコンパイラが機械語を生成するまでの処理の流れについて説明をする。 Cコンパイラのソース ↓ プリプロセッサ (#defin […]
ERモデル
データベースの設計 リレーショナル・データベースでは、データは表形式であればなんでも良い訳ではない。 例えば、学生の成績データが以下のような1つのテーブルで構成されるデータだった場合、 ID name grade sub […]
専攻科実験・コンパイラと関数電卓プログラム作成
コンパイラの技術と関数電卓プログラム(1) 再帰下降パーサによる構文解析(LL法)による電卓プログラム作成 補助資料:コンパイラの技術と関数電卓プログラム(1-2) 課題 複数桁の数字が使えること。 式中に空白が使える […]
2分木の応用(意思決定木と演算子)
データをO(log N)で検索するための2分探索木以外の2分木のデータ構造について解説を行う。 意思決定木 意思決定木の説明ということで、yes/noクイズの例を示しながら、2分木になっていることを 説明しプログラムを紹 […]
ネットワーク層とIPアドレス
ネットワーク層とIPアドレス(IPv4) (前回の復習) サブネットに分割し、隣接するサブネット、さらには上流のインターネットと通信をするためには、IPアドレスを用いた通信が行われる。 ネットワークに接続する機器には、そ […]
GROUP BY HAVINGとビューテーブル
GROUP BY HAVING GROUP BY-HAVING では、指定されたカラムについて同じ値を持つレコードがグループ化される。SELECT 文に指定される集約関数は、グループごとに適用される。HAVING は、あ […]
2分探索木への追加とAVLと2分ヒープ
2分探索木にデータを追加 前回の2分探索木では、基本的な説明ということで、木の生成では直接木構造を生成していた。しかし、本来であれば、扱うデータに応じて木を生成することが求められる。 Javaの場合 以下の Javaのプ […]
(2年後期実験) 簡単ゲーム作成
1.目的 簡単なゲーム作成を通して、遊びながらプログラミングすることで、スキルアップを目指す。 2.概要 簡単なゲームとして、以下の3つのゲームの中から1つを選び、リンク先の JavaScript による基本機能だけのゲ […]
WiFi接続、ネットワーク層
無線LANと暗号化 無線LAN(通称 WiFi)は、IEEE 802.11 にて規格が定められている。無線LANは、使う通信周波数で、2.4GHz帯を使うものと、最近増えてきた5GHz帯のものに分けられる。 IEEE80 […]