
二分探索木の行きがけ順走査は、普通再起を使うと思います。
再起を使わず、しかも木以外のデータ構造を一切使わないでやることもできる聞いたのですが、具体的にはどうすればいいのでしょう。
木以外に何か使ってもいいのなら、
http://www.psg.cs.titech.ac.jp/pro1/11.pdf
の『再起を使わないアルゴリズム』みたいにすれば良いことは調べてわかりました。
再起も使わないで出来るのであれば、自分でもJavaを使って書いてみようかと思っているのでカテゴリはJavaにしました。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
まず、「再起」ではなく「再帰」であることにご注意ください。
構造化された言語で関数やサブルーチンを呼び出すとき、通常「コールスタック」と呼ばれるスタックの一種を引数や返り値、リターンアドレスの受け渡しや保存に用います。Javaで書く以上は、少なくともスタックは使っていると思ってください。その時点でこの条件が達成できるか怪しくなります。
木を使っていいのであれば、木をスタックとして使えばよさそうです。ただ、木をスタックや連想配列として使っていいのであれば、効率以外に制限はないと言えますし、木をスタックなどとして使ってはいけないのであれば、どの使い方が「他のどのデータ構造にもない使い方」といえるのか判断が難しいでしょう。
「木以外のデータ構造を使わない」という条件だけではあまり意味がない条件だと思えます。もう少し厳密な条件があるのかもしれません。
すみません。誤字がありました。
>Javaで書く以上は、少なくともスタックは使っていると思ってください。その時点でこの条件が達成できるか怪しくなります。
そうですよね。自分でも確かにスタックは無いと、と思います。
木の使い方も含めて、何かもう少し条件をはっきりさせないといけないですね。実はこのことを発言した張本人が、後で『木以外のデータ構造は何も使わないでは無理かも。他のデータ構造をちょっと使ってもいい』などと口走っていた気がします…。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 Win10パソコンのrecovery表示 6 2023/04/09 09:44
- Windows Vista・XP windows xp proが起動しなくなりました 10 2022/05/20 00:49
- デスクトップパソコン ファイルメーカーPro12が突然起動しなくなりました 1 2023/08/23 11:47
- ノートパソコン windows11で定期的にwifiが切れます 3 2022/10/22 09:26
- フリーソフト AIMPに代わるおすすめのプレイヤー(フリーソフト)を教えてください 2 2022/08/11 20:32
- 営業・販売・サービス 個人で商品を販売する際、自分の使った材料が再販売等の違反になるか否かよくわかりません。 布や木材とい 2 2022/12/21 13:51
- Chrome(クローム) Chromeでgooglemap検索等結果が他国になってしまう 1 2022/10/05 12:18
- ビデオカード・サウンドカード Media EncoderやStreamlabsDesktopのハードウェアエンコードについて 2 2023/03/25 12:16
- デスクトップパソコン 「自動修復でPCを修復できませんでした」と表示されPCが起動しないのですが対処法はありますか? 5 2022/05/13 09:16
- マウス・キーボード 無線マウス不具合 4 2022/07/10 22:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
gccでスタックサイズを変更する...
-
VB.netでDLLを読み込んで実行す...
-
スタック領域変更
-
Visual C++ 2008 オーバーフロ...
-
printf / sprintf のスタック消...
-
スタックのpush/pop動作について
-
「下士官に告ぐ」って公の発表...
-
ubuntuで デイスク/deb/loopと...
-
プログラムの規模を表す単位「k...
-
ブロック化因数(ブロッキング...
-
個人が特定の人に対して自分の...
-
パソコンでインターネット接続...
-
Raid1(ミラーリング)とRaid5...
-
ブロック長について
-
hdmiはパラレル?シリアル?
-
ライン数とステップ数の違いに...
-
ステップ数??
-
SP領域とはなんですか?
-
自分の作った文章のタイピング...
-
この二つの問題とける人いませ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
最大スタックサイズを大きくす...
-
gccでスタックサイズを変更する...
-
VB.netでDLLを読み込んで実行す...
-
printf / sprintf のスタック消...
-
スタックフレームの消滅
-
H8マイコン スタック領域に...
-
ハイパーカード
-
関数のプロローグとエピローグ...
-
スタック領域変更
-
再帰処理を非再帰処理に書き換...
-
WINAPについて
-
無償Borland5.51でスタックメモ...
-
_CRTIMPの意味は?
-
エラーメッセージが・・・
-
プログラミングについての質問...
-
OCXからのコールバックを繰り返...
-
スタックとキューの使い所
-
マス目上の移動のアルゴリズム
-
WINDOWSなどのOSを構成している...
-
エラー?メッセージ
おすすめ情報