最短路問題を解く計算機を作った
1. 計算機を見る
https://heabiside.github.io/calculators/
ここから計算機を使うことができます。JSはその場しのぎ的に書いたのでコードはきれいじゃないです。
2. これはなに
ダイクストラ法とベルマンフォード法で最短路問題を解きます。
下の写真はベルマンフォード法で次のグラフの最短路問題(sスタート)を解いたときの見た目です。ループごとに最短路が更新される様子を表に出力しています。
3. 実装方針
簡単に書きます。実装で使ったアルゴリズムの大まかなコードは1のところのリンクにアクセスすれば見れます。
ベルマンフォードに関して言えば、JSでベルマンフォードを計算して、各ループごとにhtmlとして表にして出力しているだけです。
ダイクストラ法も似たような感じで実装しています。
ちなみにこの計算機のところのグラフはdotを使って作成しています。(テキストを書くだけでグラフを自動出力してくれて便利です。)
以上です。ここまで読んでいただきありがとうございます。
SQLのクエリをまとめて実行して表を出力するPHPコードを作成した。
1. 対象者
xamppとかを導入済の人(MySQLとかApacheとか導入してあって、PHP使える方)
私は大学のデータベースの課題を簡単にできるフォーマットが欲しかったので作りました。
2. 完成したもの
上の写真はクエリとか操作対象のデータベース名を入力する画面です。SQLのコードをそのままコピペすれば概ね動くと思います。(ただ、意地悪なSQL文とかを入れるとちゃんと動かないかもしれないです。)
一応XSS対策はしたつもりです。(SQL injection的なことはやりたい放題ですが、ローカルで動かすだけの課題用なので許して下さい。)
クエリを実行するとSELECTの部分が自動的に連番で表になって出力されます。コメントは取り除かれます。(コメントを残したければ自分でコードをいじって下さい。)
あと、PHP内でデータベースにアクセスするときのパスワードとかの設定はいじる必要があるかもしれないです。(多分、初期設定のままなら動きます。)
3. ソースコードをダウンロード