Skip to main content

Insertion Sort With Time Complexity

package com.sbs.sort;

/**
 * @author Bhargava
 *
 * Time Complexity of Insertion Sort is O(n power 2) Worst Case  O(n) best case

 * Recommended for Smallest array of elements.

 * If you observe Array.sort() method in java.util api, if the array length is smaller than 7 our api is following     * insertion sort.


 */
public class InsertionSort {

    /**
     * @param args
     */
    public static void main(String[] args) {

        long intialTime = System.currentTimeMillis();
        int[] array = { 24, 13, 9, 64, 7, 23, 34, 47 };
      
        System.out.print(" Befor Sorting [ ");
        for (int j = 0; j < array.length; j++) {
            System.out.print(array[j] + " ");
        }
      
        for (int i = 1; i < array.length; i++) {
            int j = i - 1;
            int temp = 0;
            while (j >= 0) {
                if (array[j + 1] < array[j]) {
                    temp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = temp;
                }
                j--;
            }

        }

        System.out.print(" After Sorting [ ");
        for (int j = 0; j < array.length; j++) {
            System.out.print(array[j] + " ");
        }
        System.out.print("]");

        System.out.println(" Time Lapse :"
                + (System.currentTimeMillis() - intialTime) + " ms ");
    }

}

Comments

Popular posts from this blog

Spring Reactive Stack

Compress a String

package com.sbs.java8.praticse; public class StringCompression { public StringCompression() { // TODO Auto-generated constructor stub } public static void main(String[] args) { System.out.println(compressString("aaaabbbbbccccAAAAccccccccdefg")); } public static String compressString(String str) { //String str = "aaaabbbbbcccc"; char[] charArray = str.toCharArray(); String compressedString = ""; int i = 0; while (i < charArray.length) { int counter = 1; int j = i + 1; while (j < charArray.length && charArray[i] == charArray[j]) { counter++; j++; i++; } compressedString = compressedString + charArray[i] + counter; i++; } //System.out.println(compressedString); String output =(compressedString.length() > charArray.length)? str: compressedString; return output; } }

Basic Sortings (Bubble, Selection and Insertion Sorts)

public class BasicSortings { public static void main(String[] args) { int temp; int iterationCount = 0; int array[] = { 2, 33, 29, 30, 21, 98}; //Bubble sort or Simple sort for (int i = 0; i < array.length - 1; i++) { for (int j = i + 1; j < array.length; j++) { if (array[i] > array[j]) { temp = array[i]; array[i] = array[j]; array[j] = temp; } iterationCount++; } } System.out.println("Bubble Sort Big 0(n) --> " + iterationCount); for (int s = 0; s < array.length; s++) { System.out.print(array[s] + "\t"); } System.out.println("\n"); System.out.println("\n"); //Selection Sort iterationCount =0; int sortPointer=0; for (int i = sortPointer; i < array.length; i++) { for(int j=i+1;j< array.length;j++) { if(array[i] > array[j]) { temp = array[i]; array[i] = array[j]; array[j] = temp;