I. Introduction
Sorting and Searching are the tasks that are repeatedly encountered in various computer applications. Since they reveal basic tasks that must be deal with quite frequently, researchers have tried in the past to develop algorithms efficient in terms of least memory requirement and least time requirement. Searching together with sorting is perhaps the most common operation used in Computing. It was always a matter of great attraction for the researchers that to reduce the time a computer takes in sorting and searching data [1], [2]. That's why, the researcher tried to develop speedy, well-organized and economical algorithms for sorting and ordering lists and arrays. This was one of the fundamental fields of research in computing for decades. The development of optimized sorting algorithms will leads to efficient computing as whole. It is observed that, the time to complete the task for most sorting algorithms depends on the amount of data. Consequently to analyze an algorithm, it is required to find a relationship showing how the time needed for the algorithm depends on the amount of data. It is observed that, for an algorithm, when the amount of data is doubled, the time needed is also doubled. Similarly from the analysis of another algorithm it was cleared that when the amount of data is increased the time to complete the task of sorting is increased by a factor of four. It is also a matter of great concern that, the nature of the data also has an effect on the efficiency of the algorithm. A sorting algorithm may behave differently if the original data set is almost sorted rather than if it is random or it may be in the reverse order. The creation of spatial data structures that are important in computer graphics and geographic information systems is necessarily a sorting procedure. A well-organized sort routine is also a useful unit in implementing algorithms like sparse matrix multiplication and parallel programming patterns like Map Reduce [3], [4]. The idea of optimized selection is based on the old selection sort [5]. Unlike the old selection sort which sort data item one at a time, the optimized selection sort algorithm (OSSA) sort two data elements (smallest as well largest) in a single iteration. It reduced the execution time of the selection sort by almost fifty percent, although this algorithm also has a computational time complexity of Big , [5], [6]. Enormous data in many fields is normally represented by the use of Matrices. It is felt by the computer professional to have efficient sorting algorithms for sorting the two-dimensional arrays. There is plenty of algorithms which mainly focuses on one-dimensional array sorting, but a few algorithms have been proposed for two-dimensional array sorting [7]–[9]. In [8], the result is extended from one-dimensional array to two-dimensional by the use of interpolation and filtering algorithms which results in a complexity of O((mn)2). Two-dimensional array AR(M, N) is treated as one dimensional array by most of the earlier sorting algorithms to sort these mn elements [10]–[12]. Simple selection sorting is the widely sorting algorithm used due to its simplicity and less implementation complexity. Although it has a time complexity of O((mn))2) on sorting one dimensional array with mn elements as (n-1 1)nm/2 comparison operations are required. The time required for sorting large arrays (e.g. arrays with 1000000*1000000 elements) is practically much time consuming. In this article, we propose an optimized sort algorithm for two dimensional arrays, to solve the above mentioned problem of sorting. The hypothetical and experimental results proved that this proposed algorithm has a high efficiency level [10], [13]. The paper is organized in the following manner. In section 2 the algorithm for two dimensional arrays is proposed. The proposed algorithm (OpSSA2D) is analyzed in section 3. In Section 4, the approach of sorting single dimensional arrays is presented for the proposed algorithm. Section 5, Experimental analysis and discussion is presented and Section 6 contain conclusion.