JPH03154920A - 高速ソート処理方式 - Google Patents
高速ソート処理方式Info
- Publication number
- JPH03154920A JPH03154920A JP29427589A JP29427589A JPH03154920A JP H03154920 A JPH03154920 A JP H03154920A JP 29427589 A JP29427589 A JP 29427589A JP 29427589 A JP29427589 A JP 29427589A JP H03154920 A JPH03154920 A JP H03154920A
- Authority
- JP
- Japan
- Prior art keywords
- data
- sorted
- sorting
- values
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、文字列や数値データを対象としたソート処理
方式に関し、特にソート対象データの大小比較処理を必
要としない高速ソート処理方式に関する。
方式に関し、特にソート対象データの大小比較処理を必
要としない高速ソート処理方式に関する。
f従来の技術〕
従来、与えられたデータの集まりを昇順あるいは降順に
並び替えるソート処理については、高速化のための方法
が種々提案されている。
並び替えるソート処理については、高速化のための方法
が種々提案されている。
例えば、特開昭6 :3=、229522号公報に記載
されている方法では、m個の処理装置に対して、データ
の値の範囲をm個に分割し、各々に分担範囲を割り当て
、各処理装置が手持ちのソートするデータの要素を分担
範囲に従って相互に分配し、分配後のデータについて各
個別にソートを実行することにより、全データのソート
を完了させている。
されている方法では、m個の処理装置に対して、データ
の値の範囲をm個に分割し、各々に分担範囲を割り当て
、各処理装置が手持ちのソートするデータの要素を分担
範囲に従って相互に分配し、分配後のデータについて各
個別にソートを実行することにより、全データのソート
を完了させている。
また、特開昭63−276629号公報に記載されてい
る方法では、ソート入力ファイルに入力データを随時追
加しながら、所定の契機で同一のソートパラメータによ
り繰返し実行されるソート処理において、2回目以降の
ソート処理では、ソート入力ファイルに新たに追加され
たデータのみを読み込んでソート処理を行い、ソート初
期処理を不要としている。
る方法では、ソート入力ファイルに入力データを随時追
加しながら、所定の契機で同一のソートパラメータによ
り繰返し実行されるソート処理において、2回目以降の
ソート処理では、ソート入力ファイルに新たに追加され
たデータのみを読み込んでソート処理を行い、ソート初
期処理を不要としている。
また、特開昭63−231526号公報に記載されてい
る装置では、比較転送ユニットの1次元アレイ構造から
なるソート処理装置において、ソート対象とするデータ
を複数の比較転送ユニットに分解して格納し、そのデー
タを分割して格納した各比較転送ユニットの比較・転送
処理を連動させてソートを行っている。
る装置では、比較転送ユニットの1次元アレイ構造から
なるソート処理装置において、ソート対象とするデータ
を複数の比較転送ユニットに分解して格納し、そのデー
タを分割して格納した各比較転送ユニットの比較・転送
処理を連動させてソートを行っている。
なお、これらの方法や装置では、ソート処理の際、デー
タの大小比較処理が必ず行われ、そのためのハードウェ
アが必要である。
タの大小比較処理が必ず行われ、そのためのハードウェ
アが必要である。
上記従来技術のうち、特開昭63−229522号公報
に記載された方法では、処理装置を複数台持つ必要があ
り、また、特開昭63−231526号公報に記載され
た方法では、比較転送ユニットを複数台持つ必要がある
ため、ハードウェア量が増大するという問題があった。
に記載された方法では、処理装置を複数台持つ必要があ
り、また、特開昭63−231526号公報に記載され
た方法では、比較転送ユニットを複数台持つ必要がある
ため、ハードウェア量が増大するという問題があった。
さらに、特開昭63−276629号公報に記載されて
いる方法では、1回目のソート処理あるいは異なるソー
トパラメータでは効果がないという問題点があった。
いる方法では、1回目のソート処理あるいは異なるソー
トパラメータでは効果がないという問題点があった。
本発明の目的は、このような問題点を改善し、ソート対
象データの大小比較処理を行う特別なハードウェアを設
けることなく、1台の処理装置で高速にソート処理を行
うことが可能な高速ソート処理方式を提供することにあ
る。
象データの大小比較処理を行う特別なハードウェアを設
けることなく、1台の処理装置で高速にソート処理を行
うことが可能な高速ソート処理方式を提供することにあ
る。
上記目的を達成するため、本発明の高速ソート処理方式
は、ソート対象データ群をデータ値の大小関係に基づい
て並び換える機能を持つソート処理装置において、その
データ群の最小値および最大値で示される範囲で、デー
タ値が出現する回数を計数し、データ値と対応づけて記
憶する手段(アドレスレジスタ、カウンタ群)を備え、
その範囲の全ての値についてその記憶手段を設定し、昇
順か降順の何れか一方の順で、ソート対象データ値が示
す記憶手段を順次更新して出現回数を計数/記憶し、記
憶した値分、そのデータ値を並べる − ことに特徴がある。
は、ソート対象データ群をデータ値の大小関係に基づい
て並び換える機能を持つソート処理装置において、その
データ群の最小値および最大値で示される範囲で、デー
タ値が出現する回数を計数し、データ値と対応づけて記
憶する手段(アドレスレジスタ、カウンタ群)を備え、
その範囲の全ての値についてその記憶手段を設定し、昇
順か降順の何れか一方の順で、ソート対象データ値が示
す記憶手段を順次更新して出現回数を計数/記憶し、記
憶した値分、そのデータ値を並べる − ことに特徴がある。
本発明においては、ソート対象データ群の範囲に含まれ
る全要素について、その出現回数をカウントし、その値
分、当該要素を昇順あるいは降順に並べることにより、
ソート処理を行う。
る全要素について、その出現回数をカウントし、その値
分、当該要素を昇順あるいは降順に並べることにより、
ソート処理を行う。
これにより、ソート処理では、ソート対象データの大小
比較処理を行うことなく、ソート処理を行うことができ
るため、大小比較処理のためのハードウェアは不要であ
り、また、処理速度を向上させることができる。
比較処理を行うことなく、ソート処理を行うことができ
るため、大小比較処理のためのハードウェアは不要であ
り、また、処理速度を向上させることができる。
以下、本発明の一実施例を図面により詳細に説明する。
第1図は、本発明の一実施例におけるソート処理装置の
構成図、第2図は本発明の一実施例におけるソート処理
装置のソート処理を示すフローチャート、第3図は本発
明の一実施例におけるソート処理の説明図である。
構成図、第2図は本発明の一実施例におけるソート処理
装置のソート処理を示すフローチャート、第3図は本発
明の一実施例におけるソート処理の説明図である。
なお、第1図および第2図におけるに、m、n。
++Jを予め次のように定義する。すなわち、kはソー
ト対象データ数、mはソート対象データの最小値、nは
ソート対象データの最大値、iは変数(変域: 1−k
)、Jは変数(変域:mxn)である。
ト対象データ数、mはソート対象データの最小値、nは
ソート対象データの最大値、iは変数(変域: 1−k
)、Jは変数(変域:mxn)である。
第1図において、lはソート対象データ群(a〜al)
を格納する入力バッファ(INBUF)、2m〜2nは
ソート対象データのとり得る範囲(m−n)分、ソート
対象データ値から昇順に選択可能なカウンタ(CN T
l1l−CN Tn)、3は各カウンタ(CNT、〜C
NTn)を選択する条件値(ソート対象データ値)を格
納するアドレスレジスタ、4はCNTmから順に各カウ
ンタ(CN下1〜CNT、)の選択条件値(m−n)を
当該カウンタの値分並べる機能を有するデータ制御部(
DATACTL)、5はソート処理結果を格納する出力
バッファ(OUTB[JF)である。
を格納する入力バッファ(INBUF)、2m〜2nは
ソート対象データのとり得る範囲(m−n)分、ソート
対象データ値から昇順に選択可能なカウンタ(CN T
l1l−CN Tn)、3は各カウンタ(CNT、〜C
NTn)を選択する条件値(ソート対象データ値)を格
納するアドレスレジスタ、4はCNTmから順に各カウ
ンタ(CN下1〜CNT、)の選択条件値(m−n)を
当該カウンタの値分並べる機能を有するデータ制御部(
DATACTL)、5はソート処理結果を格納する出力
バッファ(OUTB[JF)である。
次に、本実施例のソート処理の手順について述べる。
本実施例では、第2図のように、まず、ソート処理の前
処理として、予めソート対象データ値から選択可能なカ
ウンタ群(CN T、〜CN T、)をリセットし、初
期値を設定する(201,202)。
処理として、予めソート対象データ値から選択可能なカ
ウンタ群(CN T、〜CN T、)をリセットし、初
期値を設定する(201,202)。
次に、ソート対象データ群の先頭から最終データまで順
に、アドレスレジスタを介してソート対象データ値(a
l、i=l−wk)から選択されるカウンタ(CNT、
)を更新(+1)する(203〜206)。
に、アドレスレジスタを介してソート対象データ値(a
l、i=l−wk)から選択されるカウンタ(CNT、
)を更新(+1)する(203〜206)。
これらの動作により、ソート対象データ全体の各要素の
数が各カウンタ(CNTIll〜CNTn)に格納され
る。
数が各カウンタ(CNTIll〜CNTn)に格納され
る。
その後、ステップ203〜206の動作によって得られ
た各カウンタ(CNT、〜CNTn)の値を用い、ソー
ト対象データ値iから選択されるカウンタ(CNT、)
の値分、データiを繰返し、出力バッファ(OUTBU
F)に格納する。
た各カウンタ(CNT、〜CNTn)の値を用い、ソー
ト対象データ値iから選択されるカウンタ(CNT、)
の値分、データiを繰返し、出力バッファ(OUTBU
F)に格納する。
すなわち、昇順ソートの場合(207)、この格納動作
をi=mから初めてnまで行い(208〜211)、降
順ソートの場合には(20?)、i=nから初めてmま
で行う(212〜215)。
をi=mから初めてnまで行い(208〜211)、降
順ソートの場合には(20?)、i=nから初めてmま
で行う(212〜215)。
以」二の処理により、大小比較処理を行うことなく、入
力バッファ(INBUF)1内のデータをソートして、
出力バッファ(OUTBUF)5に格納することができ
る。
力バッファ(INBUF)1内のデータをソートして、
出力バッファ(OUTBUF)5に格納することができ
る。
次に、昇順ソートの具体例について述べる。
例えば、ソート対象データ群(8,3,5,2゜9.1
.2)を昇順にソートする場合、第1図に示した入力バ
ッファlには、第3図(a)のようなデータが格納され
ている。
.2)を昇順にソートする場合、第1図に示した入力バ
ッファlには、第3図(a)のようなデータが格納され
ている。
これらのデータの範囲は最小値II 1 !1〜最大値
119 I+であるため、アドレスレジスタ3の選択に
従って更新処理を行った後のカウンタ群2m〜2nでは
、(b)のように、CNT、がデータ値“1″の出現回
数を示し、CNTヨ〜CN’r、はデータ値パ2〜9”
の出現回数を順次示す。
119 I+であるため、アドレスレジスタ3の選択に
従って更新処理を行った後のカウンタ群2m〜2nでは
、(b)のように、CNT、がデータ値“1″の出現回
数を示し、CNTヨ〜CN’r、はデータ値パ2〜9”
の出現回数を順次示す。
さらに、(c)のように、このカウンタ群が示す値分、
各データを昇順に出力バッファ5へ格納することにより
、ソート処理を完了する。
各データを昇順に出力バッファ5へ格納することにより
、ソート処理を完了する。
本発明によれば、ソート対象データ群に含まれる各要素
の数をカウントし、その値分、当該要素を並べることに
よりソート処理を行うので、ソート対象データの大小比
較処理が不要となる。また、各カウンタの更新処理もソ
ート対象データ数分だけ行えばよいので、ソート対象デ
ータ数が増しても、ソート処理性能が指数的に劣化する
ことはない。
の数をカウントし、その値分、当該要素を並べることに
よりソート処理を行うので、ソート対象データの大小比
較処理が不要となる。また、各カウンタの更新処理もソ
ート対象データ数分だけ行えばよいので、ソート対象デ
ータ数が増しても、ソート処理性能が指数的に劣化する
ことはない。
なお、従来はソート対象データ値の大小比較処理が必要
であり、ソート対象データ数が増すと、ソート対象デー
タ値の大小比較処理回数が指数的に増加するので、ソー
ト処理性能も指数的に劣化していた。例えば、クイック
ソートでは、n個のソート対象データ値の大小比較処理
回数は平均してnlogn回必要であった。
であり、ソート対象データ数が増すと、ソート対象デー
タ値の大小比較処理回数が指数的に増加するので、ソー
ト処理性能も指数的に劣化していた。例えば、クイック
ソートでは、n個のソート対象データ値の大小比較処理
回数は平均してnlogn回必要であった。
また、ハードウェア量についても、ソート対象データ値
の大小比較処理は不要であるため、ソート対象データ値
の大小比較を行う特別なハードウェアを設ける必要はな
く、また、複数台の処理装置を設ける必要もない。従っ
て、少いハードウェア量でソート処理を実現することか
り能である。
の大小比較処理は不要であるため、ソート対象データ値
の大小比較を行う特別なハードウェアを設ける必要はな
く、また、複数台の処理装置を設ける必要もない。従っ
て、少いハードウェア量でソート処理を実現することか
り能である。
第1図は本発明の一実施例におけるソート処理装置の構
成図、第2図は本発明の一実施例におけるソート処理装
置のソート処理を示すフローチャート、第3図は本発明
の一実施例におけるソート処理の説明図である。 l:人力バッフy(lNI3LJl’)、2m 〜2n
:カウンタ(CNT、〜CNT、)、3 ニアドレス
レジスタ、4:データ制御部(DATACTL)、5
:出力バッファ(OUTBUF)。
成図、第2図は本発明の一実施例におけるソート処理装
置のソート処理を示すフローチャート、第3図は本発明
の一実施例におけるソート処理の説明図である。 l:人力バッフy(lNI3LJl’)、2m 〜2n
:カウンタ(CNT、〜CNT、)、3 ニアドレス
レジスタ、4:データ制御部(DATACTL)、5
:出力バッファ(OUTBUF)。
Claims (1)
- 1、ソート対象データ群をデータ値の大小関係に基づい
て並び換える機能を持つソート処理装置において、該デ
ータ群の最小値および最大値で示される範囲で、データ
値が出現する回数を計数し、該データ値と対応づけて記
憶する手段を備え、該範囲の全ての値について該記憶手
段を設定し、昇順か降順の何れか一方の順で、ソート対
象データ値が示す該記憶手段を順次更新して該出現回数
を計数/記憶し、記憶した値分、該データ値を並べるこ
とを特徴とする高速ソート処理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP29427589A JPH03154920A (ja) | 1989-11-13 | 1989-11-13 | 高速ソート処理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP29427589A JPH03154920A (ja) | 1989-11-13 | 1989-11-13 | 高速ソート処理方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03154920A true JPH03154920A (ja) | 1991-07-02 |
Family
ID=17805599
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP29427589A Pending JPH03154920A (ja) | 1989-11-13 | 1989-11-13 | 高速ソート処理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03154920A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107430506A (zh) * | 2015-02-05 | 2017-12-01 | 巴塞罗纳超级计算机中心-国家超级计算机中心 | 发现向量内的重复值的多个实例的方法和装置及到排序的应用 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5852744A (ja) * | 1981-09-25 | 1983-03-29 | Nippon Telegr & Teleph Corp <Ntt> | ソ−テイングメモリ装置 |
| JPS6154536A (ja) * | 1984-08-24 | 1986-03-18 | Hitachi Ltd | デ−タ整順化回路 |
| JPS636634A (ja) * | 1986-06-27 | 1988-01-12 | Nippon Telegr & Teleph Corp <Ntt> | デ−タ処理装置 |
-
1989
- 1989-11-13 JP JP29427589A patent/JPH03154920A/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5852744A (ja) * | 1981-09-25 | 1983-03-29 | Nippon Telegr & Teleph Corp <Ntt> | ソ−テイングメモリ装置 |
| JPS6154536A (ja) * | 1984-08-24 | 1986-03-18 | Hitachi Ltd | デ−タ整順化回路 |
| JPS636634A (ja) * | 1986-06-27 | 1988-01-12 | Nippon Telegr & Teleph Corp <Ntt> | デ−タ処理装置 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107430506A (zh) * | 2015-02-05 | 2017-12-01 | 巴塞罗纳超级计算机中心-国家超级计算机中心 | 发现向量内的重复值的多个实例的方法和装置及到排序的应用 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5179699A (en) | Partitioning of sorted lists for multiprocessors sort and merge | |
| JP3485262B2 (ja) | データ・パケットを分類する方法および手段 | |
| US7062499B2 (en) | Enhanced multiway radix tree and related methods | |
| EP0444358A2 (en) | Dynamic optimization of a single relation access | |
| US5423035A (en) | Method for evaluating relational database queries with automatic indexing and ordering of join components | |
| US5249262A (en) | Component intersection data base filter | |
| CN109656798A (zh) | 基于顶点重排序的超级计算机大数据处理能力测试方法 | |
| US5813003A (en) | Progressive method and system for CPU and I/O cost reduction for mining association rules | |
| JPH03154920A (ja) | 高速ソート処理方式 | |
| JPH0320822A (ja) | データ分類回路 | |
| JP2509929B2 (ja) | 並列ソ−ト処理方法 | |
| JPS59121436A (ja) | デ−タ群のソ−ト方法 | |
| JPS6116326A (ja) | ソ−ト処理装置 | |
| US5479657A (en) | System and method for sorting count information by summing frequencies of usage and using the sums to determine write addresses | |
| JPS6143338A (ja) | 連想技術を使用して稀薄なデータベースをサーチする方法 | |
| JP3061486B2 (ja) | データソート処理システム | |
| JPH05120338A (ja) | 索引検索方式 | |
| JPS62227209A (ja) | デ−タ並べ換え装置 | |
| JP3824091B2 (ja) | リレーショナルデータベースシステム | |
| CN113886255A (zh) | 一种测试用例生成方法 | |
| JPH04337867A (ja) | データベース検索システム | |
| JP2003296730A (ja) | データ処理装置、データ処理方法、画像処理装置、画像処理方法 | |
| JPH03216729A (ja) | 電子計算機 | |
| JPH0518148B2 (ja) | ||
| JPS63149728A (ja) | 索引生成方式 |