![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
二分探索木の行きがけ順走査は、普通再起を使うと思います。
再起を使わず、しかも木以外のデータ構造を一切使わないでやることもできる聞いたのですが、具体的にはどうすればいいのでしょう。
木以外に何か使ってもいいのなら、
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ランキング
-
最大スタックサイズを大きくす...
-
iPhoneとituneの同期を付属のUS...
-
パソコンでインターネット接続...
-
プログラムの規模を表す単位「k...
-
ステップ数について
-
ubuntuで デイスク/deb/loopと...
-
ページ置き換え LRU方式
-
サンプル文章が長文のタイプ練...
-
ステップ数??
-
昔したタイピングソフトが思い...
-
コンパクションとガーベジコレ...
-
磁気ディスクの平均アクセス時...
-
PTYサーチ?PTYスキャン?
-
VB6.0で #の意味
-
Excel VBA マクロ処理 リンク先...
-
英字新聞の和訳,たびたびのお...
-
ネットワークアドレスとブロー...
-
ソフトウェア開発技術者~タス...
-
剰余を求めるプログラム
-
SP領域とはなんですか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ゆゆにゃ。
-
エラー?メッセージ
-
VB.netでDLLを読み込んで実行す...
-
printf / sprintf のスタック消...
-
スタック領域変更
-
関数のプロローグとエピローグ...
-
スタックフレームの消滅
-
逆ポーランド記法
-
_CRTIMPの意味は?
-
マス目上の移動のアルゴリズム
-
gccでスタックサイズを変更する...
-
再帰処理を非再帰処理に書き換...
-
最大スタックサイズを大きくす...
-
C言語・スタックを使用した逆...
-
C言語のリスト、スタック、キュ...
-
C言語での配列初期化について
-
情報処理の問題で理解ができま...
-
objective-c undo機能について
-
基本情報技術者のデータ構造あ...
-
再帰関数を使うとき、ソフトウ...
おすすめ情報