数式の構文解析木を作る前に
こんにちは。 前回、字句解析器を作ったので、ちゃんと計算できるようにします。 そのためには、数式の構文を解析しなければなりません。 そもそも、数式はどのような構成になっているのでし ...
C++で2分探索木のプログラムを作ってみる
こんにちは。もう少しC++でデータ構造のプログラムを書いていこうと思います。 今回は2分探索木です。 ちなみに2分で探索機は作れません。 2分探索木について 表題を付けたのですが、 ...
逆ポーランド記法の数式を計算する
こんにちは。 前回まででスタック・キュー・2分木を作ったので、これらを使ってみようと思います。 そこで、簡易な電卓を作ってみます。 前置記法・中置記法・後置記法 普段使っている数式 ...
とりあえず自作の木になったかな
こんにちは。前回に引き続き、総称型を使っていきます。 なぜプログラムを書き換えたのか 以前は特定の型(stringなど)しか扱えなかった連結リストやスタックやキューだったものを、テ ...
やってしまった!思い込みって怖いな・・・文字列だけじゃないんだよ。ということで総称型に変更の巻
こんにちは。 ここまでC++でデータ構造の簡易版を自分で実装してきました。 次に考えていたことをしようと思ったら・・・ なんと、ノードの要素として文字列しか扱えないようにプログラム ...
さまざまなデータ構造をC++で書いてみる(3)
こんにちは。 前回に引き続き,データ構造を扱っていきます。 今回は2分木です。 2分木をC++で書いてみる 今回もこれまでと同じように以前の記事へのリンクをはっておきます。 詳しい ...
さまざまなデータ構造をC++で書いてみる(2)
こんにちは。 前回の続きでさまざまなデータ構造をC++で書いてみます。 スタックをC++で書いてみる 以前の記事です。 さまざまなデータ構造(4)スタック1 さまざまなデータ構造( ...
さまざまなデータ構造をC++で書いてみる(1)
こんにちは。 1年くらい前に取り上げたデータ構造では,プログラムをJavaとPythonで書いていました。ほとんど同じプログラムをC++に直してみようと思います。 片方向リスト用の ...
Pythonでさまざまなデータ構造(2)
こんにちは。前回は連結リスト構造とそれに関連したデータ構造をPythonでプログラムを書き直してみました。 今回は木構造に関係したデータ構造をPythonのプログラムにしてみたいと ...
Pythonでさまざまなデータ構造(1)
こんにちは。これまで10回以上にわたり、さまざまなデータ構造を取り上げてきました。そこで使ったプログラミング言語はJavaでした。競技プログラミングを目指すならば、絶対にCまたはC ...
さまざまなデータ構造(12)二分探索木3
こんにちは。前回は二分探索木を取り上げました。今回はプログラムをまとめることにします。 二分探索木のクラス 前回示した手順をクラスとしてまとめました。次のようになります。前回のポイ ...
さまざまなデータ構造(11)二分探索木2
こんにちは。前回は二分探索木とは何かについて説明し、探索と挿入について書きました。前回やり残したデータの削除について書きます。 データの削除 二分探索木でデータを削除するには工夫が ...
さまざまなデータ構造(10)二分探索木1
こんにちは。今日は3の倍数の日ではありませんが、2月の更新が9回になってしまうので更新することにします。 前々回・前回の2回で二分木について取り上げました。さらに発展して今回は二分 ...
さまざまなデータ構造(9)二分木2
こんにちは。前回は二分木とその走査について取り上げました。今回はプログラムを整理しておきたいと思います。 二分木を作り走査するプログラム それでは、実行用のプログラムを掲載します。 ...
さまざまなデータ構造(8)二分木1
こんにちは。今回は木構造です。これまでに取り上げた連結リスト、スタック、キューはすべて1方向でした。それに対して、木構造は複数に分岐します。今回は高々2つの分岐までの木を扱います。 ...
さまざまなデータ構造(7)キュー2
こんにちは。前回はキューについて説明しました。今回は、キュークラスとしてまとめます。 キューのプログラム(Java) package data_structure; public ...
さまざまなデータ構造(6)キュー1
こんにちは。引き続きデータ構造について書いていきます。今回はキューです。 キューとは 人気のラーメン屋に並んだことはありますか?私はあります。1時間くらい待ったかな~。待ち行列がキ ...
さまざまなデータ構造(5)スタック2
こんにちは。前回はスタックについて説明しました。今回は、スタッククラスとしてまとめます。 スタックのプログラム(Java) package data_structure; publ ...
さまざまなデータ構造(4)スタック1
こんにちは。引き続きデータ構造について書いていきます。今回はスタックです。 スタックとは 机の上を見てください。ほ~ら、本やらプリントやら山積みになっているでしょう。まさにスタック ...
さまざまなデータ構造(3)連結リスト2
こんにちは。前回に引き続き、今回も連結リストです。今回はいよいよプログラムです。 ちなみに、前の2回が関連するので「片方向リスト用のノード」、「連結リスト1」をご覧ください。 Ja ...