A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
クイックソートは自作ですか?
プログラムを間違えているからスタックが不足するのでしょう。
再帰呼び出しの際に、ソート対象のデータのコピーを渡しているとか。
クイックソートはインプレースソートなので、8191要素くらいでスタックが足りなくなることは考えにくいです。
No.3
- 回答日時:
#1で示唆されている、再帰型(リカーシブな)のアルゴリスムを使っているからだと思います。
http://e-words.jp/w/E383AAE382ABE383BCE382B7E383 …
http://www.geocities.jp/kmctecyh/k_gozen/gozen03 …
にあるように
「リカーシブは、プログラムの中から自分自身を呼び出すことを言う。自分自身を定義するの
に自分自身よりも1次低い集合を用いる。その部分集合はより低次の部分定義を用いて定義する
ことを繰り返して表現する。
クィックソートは、適当にサンプリングして得られたデータNに着目し、N以下のデータ系
列とN以上のデータ系列に分割する。このデータNを軸(ピボット)という。データNを軸とし
て、その軸の値より小さい要素は軸より前方へ、大きな要素は軸より後方へ振り分ける。適当な
長さの系列になるまで分割を繰り返し、それぞれの系列をソートすれば1つのソート済み系列と
なる。
分割の繰返しに再帰呼び出し(リカーシブ)を利用した高速の整列法である。」
ーーー
質問者がどこかで見たアルゴリズムがリカーシブなものであったのでしょう。理系の先生のクイックソートの記述には、これが多そう。
しかしすぐ質問のような事態になるでしょう。戻った時の情報を
蓄えていかないとならないから。
どこか再帰を使わないクイックソートのアルゴリズムを見つけるしかないでしょう。
http://edu.inf.shizuoka.ac.jp/lecture/2007/X121/ …
に考え方とC言語の簡単例がある。
「再帰的でない クイックソート」などでWEB照会しては。
No.2
- 回答日時:
No.1
- 回答日時:
プログラム知ってれば知ってると思うんですが、treeソートやクイックソートは最低でも比較対象の2倍はメモリ必要となります。
メモリが無い状態でソートするとなると、単純ソートやバブルソートとなりますが、決してこれらのソートは速いとは言えません。
とはいえ、スタック領域が不足なんて、このくらいのデータ量で出るのか?と思い少し調べました。
http://www.drk7.jp/MT/archives/000995.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 効率的な名簿と得点の管理の仕方 8 2022/08/07 08:15
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
- Excel(エクセル) excel マクロでグループ内でソートしたい。見出しが上手くいきません。 7 2022/05/22 08:31
- Excel(エクセル) 重複しているか否かをソートせずに判断する方法ありますか? 2 2022/07/06 21:16
- Excel(エクセル) Excelの50音順ソートを全ての行列に適用するには? 4 2022/12/05 11:28
- Visual Basic(VBA) Excel VBAで並べ替えをしたい 3 2023/02/25 09:31
- JavaScript jsonテキストデータの並び替えができるサービスを教えてください 2 2022/08/05 20:16
- Excel(エクセル) excel 行でソートすると計算式が上手くいかない。 6 2022/06/01 08:18
- Windows 10 Win 10エクスプローラーについて、ファイル名変更後即座に移動してしまう 対策は? 8 2023/08/16 03:49
- Excel(エクセル) エクセルのソート方法について 1 2023/01/13 00:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBScriptで重複レコードを削除...
-
VB.NETでファイル名順にファイ...
-
C# DataGridView のヘッダーセ...
-
System.IO.Directory.GetFiles...
-
リスト構造のソートで悩んでま...
-
C言語・要素除去
-
VBA基本構文の作り方 2列の...
-
文字列をソートする方法
-
excel VBA リストビューの行...
-
あるディレクトリ内のファイル...
-
偶数奇数の判別!!
-
スプレッドでのソート
-
excel VBA の条件をつけての列...
-
ファイル名「1.jpg ~10.jpg~...
-
10個の整数を入力して小さい順...
-
vbでDataTableの抽出コピー
-
構造体配列のソート
-
MSFlexGridのSortメソッドについて
-
DataGridViewの昇順降順。
-
Excel VBA で別シートにデータ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
System.IO.Directory.GetFiles...
-
VB.NETでファイル名順にファイ...
-
C# DataGridView のヘッダーセ...
-
ファイル名「1.jpg ~10.jpg~...
-
C# DataTableの行をソートしてD...
-
あるディレクトリ内のファイル...
-
excel VBA の条件をつけての列...
-
excel VBA リストビューの行...
-
DataGridViewの複数列を連動し...
-
文字列をソートする方法
-
Excelですべての組合せ(重複組...
-
列のどこをクリックしてもソー...
-
n番目に大きい数を求めるアル...
-
Excel VBAで並べ替えをしたい
-
DataGridViewの昇順降順。
-
vbでDataTableの抽出コピー
-
数字文字列のソート方法
-
VB6でデータを昇順に並べ替える
-
VBScriptで重複レコードを削除...
-
ListViewのソートについて
おすすめ情報