SORTING AN ARRAY CONSISTING OF A LARGE NUMBER OF ELEMENTS
First Claim
1. An apparatus for executing a multiway merging process which generates one output sequence from N input sequences on an array consisting of a large number of elements, the apparatus comprising:
- an input sequence production unit configured to produce an input sequence by pairing a key from an element for use in a comparison during sorting with an index identifying the element for each element or sorted array of elements;
an execution unit configured to execute the multiway merging process on N input sequences without rearranging the elements based on which input sequences have been produced; and
a generation unit configured to rearrange the elements constituting the input sequences according to an output sequence that has been generated by the multiway merging process in the execution unit so as to generate a sorted array of elements.
1 Assignment
0 Petitions
Accused Products
Abstract
Sorting an array consisting of large number of elements. The present invention provides an apparatus for executing a multiway merging process which generates one output sequence from N input sequences on an array consisting of a large number of elements. The apparatus includes: an input sequence production unit configured to produce an input sequence by pairing a key from an element for use in a comparison during sorting with an index identifying the element for each element or sorted array of elements; an execution unit configured to execute the multiway merging process on N input sequences without rearranging the elements based on which input sequences have been produced; and a generation unit configured to rearrange the elements constituting the input sequences according to an output sequence that has been generated by the multiway merging process in the execution unit so as to generate a sorted array of elements.
-
Citations
20 Claims
-
1. An apparatus for executing a multiway merging process which generates one output sequence from N input sequences on an array consisting of a large number of elements, the apparatus comprising:
-
an input sequence production unit configured to produce an input sequence by pairing a key from an element for use in a comparison during sorting with an index identifying the element for each element or sorted array of elements; an execution unit configured to execute the multiway merging process on N input sequences without rearranging the elements based on which input sequences have been produced; and a generation unit configured to rearrange the elements constituting the input sequences according to an output sequence that has been generated by the multiway merging process in the execution unit so as to generate a sorted array of elements. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 19)
-
-
13. An apparatus for merge-sorting an array consisting of a large number of elements by utilizing a multiway merging process which generates one output sequence from a plurality of input sequences, the apparatus comprising:
-
a storage unit configured to store the array consisting of a large number of elements; and a sorted-array generation unit configured to;
(i) produce an input sequence by pairing, for each element, a key for use in a comparison during sorting with an index identifying the element, where one element in the array consisting of a large number of elements or one sorted array of elements makes an input sequence for the multiway merging process, (ii) execute the multiway merging process on a plurality of input sequences without rearranging the elements based on which input sequences have been produced, and (iii) rearrange the elements stored in the storage unit in accordance with output sequences generated so as to generate a sorted array of elements which will make an input sequence for the multiway merging process at a following stage,wherein, after an initial stage of processing, processing by the sorted-array generation unit is iteratively executed using all of the large number of elements as the base of input sequences for the multiway merging process, processing at each stage following the initial stage is performed by executing processing that repeats the processing by the sorted-array generation unit using all sorted arrays that were generated by the multiway merging process in the preceding stage as the base of new input sequences for the multiway merging process, which generates a sorted array in which all of the large number of elements are sequentially sorted. - View Dependent Claims (20)
-
-
14. A method for executing a multiway merging process which generates one output sequence from N input sequences on an array consisting of a large number of elements, the method comprising the steps of:
-
producing an input sequence by pairing, per element or sorted array of elements, a key from an element for use in a comparison during sorting with an index identifying the element; executing the multiway merging process on N input sequences without rearranging the elements based on which input sequences have been produced; and rearranging the elements, based on which the input sequences have been produced, according to an output sequence that has been generated by the multiway merging process in the executing step so as to generate a sorted array of elements. - View Dependent Claims (15, 16, 17, 18)
-
Specification