An algorithm is defined as an unambiguous procedure that contains a finite set of well-defined operations or steps that requires a finite amount of storage and takes a finite amount of time to complete and it can be executed by a mathematical machine [
1]. The word ‘Algorithmic’ is defined as a branch of computer science that consists of both designing and analyzing algorithms. The word “design” pertains to the description of the algorithm at the abstract level through a pseudo-language. The algorithm’s correctness is that it should solve the given problem in all cases. Next, the “analysis” part deals with the performance evaluation of the algorithm, also defined as the complexity analysis. This paper designs an optimal algorithm to find the second smallest among the given n numbers [
2,3,4]. The complexity analysis and the advantages of the proposed algorithm are also explored in the next sections. Optimal algorithms should be designed to solve real-world problems either using hard computing or soft computing techniques [
5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29].

Properties or characteristics of an Algorithm

The following are the important characteristics of every algorithm [
3].

An algorithm must be precise.

An algorithm must be effective.

An algorithm must have a fixed finite number of instructions.

The execution of an algorithm must always terminate

Design of an optimal algorithm for finding the second smallest among <i>n</i> numbers

The optimal algorithm to find the second smallest among n numbers is designed to the properties mentioned in section 2 and the resultant optimal algorithm is presented in this section.

Algorithm Find-SecondMin (A[
], n)

// A[1: n] is an one-dimensional array, that contains n elements

// Finding the second smallest among n elements with minimum comparisons, O(n)

1: fmin =A[
1]; smin = A[
2];

2: if (smin < fmin) then fmin = A[
2]; smin = A[
1];

3: for i = 3 to n do:

4: if (fmin = smin) then smin=A[i];

5: if (A[i] < fmin) then smin = fmin; fmin = A[i];

6: else if ((fmin < A[i]) && (A[i] < smin)) then smin = A[i];

7: // End of Algorithm

Asymptotic Analysis of Algorithm Find-SecondMin (A[], <i>n</i>)

The best, worst, and average-case analysis of the devised algorithm is explained in this section [
4,5].

Worst case: The total count of basic operations, that is, the count of comparisons performed in the worst case is given by

For example, n = 5, and the inputs (10, 8, 5, 3, and 2) result in best-case performance.

Advantages of Algorithm Find-SecondMin (A[], <i>n</i>)

The advantages of the proposed algorithm are presented below.

It takes linear time complexity, O(n). Sorting and finding the 2^{nd} smallest requires O(n^{2}) time complexity, hence it is an optimal algorithm for n (>=4) values.

The first smallest element is also computed and stored in the variable fmin. Hence applicable in determining the initial solution using the approximation method of Vogel.

If the first smallest, say x, appears in more than one location, and if the next smallest, say y, is available in the input set, then fmin = x and smin = y. If all inputs are the same, then fmin = smin.

Conclusions

In general, in the worst case, an algorithm x is said to be optimal if no algorithm computes less number of basic operations. Here we meant all possible available algorithms, including those not yet designed. Hence, the word “optimal” doesn’t mean “the best known”, it means “the best possible”. This paper explained the design of an optimal algorithm for finding the second smallest among n numbers. The computational complexity of the devised algorithm is analyzed for all three cases and its advantages are also discussed.

ReferencesEllis Horowitz; Sartaj Sahni; Sanguthevar Rajasekaran: Fundamentals of Computer Algorithms. Galgotia Publications, 2003.
Sara Baase; Allen Van Gelder: Computer Algorithms - Introduction to Design and Analysis. Third Edition, Pearson Educa-tion, 2008.
T.H. Cormen; C.E. Leiserson; R.L. Rivest; C. Stein: Introduction to Algorithms. Second Edition, PHI, 2003.
Aho; Hopcroft; Ullman: The Design and Analysis of Computer Algorithms. Fourth Impression, Pearson Education, 2009.
Bhaskaran, S., Marappan, R. Design and analysis of an efficient machine learning based hybrid recommendation system with enhanced density-based spatial clustering for digital e-learning applications. Complex Intell. Syst. (2021). https://doi.org/10.1007/s40747-021-00509-4
Bhaskaran, S.; Marappan, R.; Santhi, B. Design and Analysis of a Cluster-Based Intelligent Hybrid Recommendation System for E-Learning Applications. Mathematics 2021, 9, 197. https://doi.org/10.3390/math9020197
Marappan, R., Sethumadhavan, G. Solving Graph Coloring Problem Using Divide and Conquer-Based Turbulent Particle Swarm Optimization. Arab J Sci Eng (2021). https://doi.org/10.1007/s13369-021-06323-x
Bhaskaran, S.; Marappan, R.; Santhi, B. Design and Comparative Analysis of New Personalized Recommender Algorithms with Specific Features for Large Scale Datasets. Mathematics 2020, 8, 1106. https://doi.org/10.3390/math8071106
Marappan, R.; Sethumadhavan, G. Complexity Analysis and Stochastic Convergence of Some Well-known Evolutionary Operators for Solving Graph Coloring Problem. Mathematics 2020, 8, 303. https://doi.org/10.3390/math8030303
N. S. Anand, R. Marappan and G. Sethumadhavan, "Performance Analysis of SAR Image Speckle Filters and its Recent Challenges," 2018 IEEE International Conference on Computational Intelligence and Computing Research (ICCIC), 2018, pp. 1-4, doi: 10.1109/ICCIC.2018.8782425.
Marappan, R., Sethumadhavan, G. Solution to Graph Coloring Using Genetic and Tabu Search Procedures. Arab J Sci Eng 43, 525-542 (2018). https://doi.org/10.1007/s13369-017-2686-9
R. Marappan and G. Sethumadhavan, "Solving channel allocation problem using new genetic algorithm with clique parti-tioning method," 2016 IEEE International Conference on Computational Intelligence and Computing Research (ICCIC), 2016, pp. 1-4, doi: 10.1109/ICCIC.2016.7919671.
R. Marappan and G. Sethumadhavan, "Solution to graph coloring problem using divide and conquer based genetic method," 2016 International Conference on Information Communication and Embedded Systems (ICICES), 2016, pp. 1-5, doi: 10.1109/ICICES.2016.7518911.
R. Marappan and G. Sethumadhavan, "Divide and conquer based genetic method for solving channel allocation," 2016 In-ternational Conference on Information Communication and Embedded Systems (ICICES), 2016, pp. 1-5, doi: 10.1109/ICICES.2016.7518914.
Raja Marappan, Gopalakrishnan Sethumadhavan: Solving Fixed Channel Allocation using Hybrid Evolutionary Method. MATEC Web of Conferences 57 02015 (2016) DOI: 10.1051/matecconf/20165702015
Marappan, R., & Sethumadhavan, G. (2015). Solving graph coloring problem for large graphs. Global Journal of Pure and Applied Mathematics, 11(4), 2487-2494.
Marappan, R., & Sethumadhavan, G. (2015). Solution to Graph Coloring Problem using Evolutionary Optimization through Symmetry-Breaking Approach. International Journal of Applied Engineering Research, 10(10), 26573-26580.
Marappan, R., & Sethumadhavan, G. (2015). Solution to graph coloring problem using heuristics and recursive backtracking. International Journal of Applied Engineering Research, 10(10), 25939-25944.
G. Sethumadhavan and R. Marappan, "A genetic algorithm for graph coloring using single parent conflict gene crossover and mutation with conflict gene removal procedure," 2013 IEEE International Conference on Computational Intelligence and Computing Research, 2013, pp. 1-6, doi: 10.1109/ICCIC.2013.6724190.
R. Marappan and G. Sethumadhavan, "A New Genetic Algorithm for Graph Coloring," 2013 Fifth International Conference on Computational Intelligence, Modelling and Simulation, 2013, pp. 49-54, doi: 10.1109/CIMSim.2013.17.
Raja Marappan, Gopalakrishnan Sethumadhavan, R.K. Srihari, New approximation algorithms for solving graph coloring problem - An experimental approach, Perspectives in Science, Volume 8, 2016, Pages 384-387, ISSN 2213-0209, https://doi.org/10.1016/j.pisc.2016.04.083.
Raja Marappan, Gopalakrishnan Sethumadhavan, U. Harimoorthy, Solving channel allocation problem using new genetic operators - An experimental approach, Perspectives in Science, Volume 8, 2016, Pages 409-411, ISSN 2213-0209, https://doi.org/10.1016/j.pisc.2016.04.091.
S. Balakrishnan, Tamilarasi Suresh, Raja Marappan: Analysis of Recent Trends in Solving NP Problems with New Research Directions Using Evolutionary Methods. International Journal of Research Publication and Reviews Vol (2) Issue (8) (2021) Page 1429-1435
S. Bhaskaran; Raja Marappan: New Personalized Recommendation System for E-Learning. AshEse Journal of Physical Sci-ence. Vol. 5(5), pp. 063-067, August, 2021 ISSN: 2059-7827 DOI: http://www.ashese.co.uk/ajps-v5-issue-5/new-personalized-recommendation-system-for-e-learning
S. Balakrishnan, Tamilarasi Suresh, Raja Marappan. (2021) A New Multi-Objective Evolutionary Approach to Graph Color-ing and Channel Allocation Problems. Journal of Applied Mathematics and Computation, 5(4), 252-263. DOI: http://dx.doi.org/10.26855/jamc.2021.12.003
Raja Marappan: A New Multi-Objective Optimization in Solving Graph Coloring and Wireless Networks Channels Alloca-tion Problems. Int. J. Advanced Networking and Applications Volume: 13 Issue: 02 Pages: 4891-4895 (2021)
Raja Marappan, S. Bhaskaran, N. Aakaash, S. Mathu Mitha. (2022) Analysis of COVID-19 Prediction Models: Design & Analysis of New Machine Learning Approach. Journal of Applied Mathematics and Computation, 6(1), 121-126. DOI: http://dx.doi.org/10.26855/jamc.2022.03.013
Raja Marappan, S. Bhaskaran, S. Ashwadh, H. Aathi Raj. (2022) Extraction of Drug Review Polarity Using Sentimental Analysis. Journal of Applied Mathematics and Computation, 6(2), 167-177. DOI: http://dx.doi.org/10.26855/jamc.2022.06.001
Marappan, R., & Bhaskaran, S. (2022). Analysis of Network Modeling for Real-world Recommender Systems. International Journal of Mathematical, Engineering, Biological and Applied Computing, 1(1), 1-7.