Insertion Sort

  • Třídění vkládáním
  • Idea algoritmu je založena na třídění rozdaných karet
  • Složitost algoritmu v nejlepším případě: (vstupní pole už je setříděné)
  • Složitost algoritmu v nejhorším případě: (vstupní pole je setříděné naopak)
  • In-place třídění (prostorová složitost )
  • Stabilní třídící algoritmus
Insertion-Sort(A[0 ... n-1])
	for j <- 1 to n-1
		do t <- A[j]
		   i <- j-1
		   while i >= 0 and A[i] > t
			   do A[i+1] <- A[i]
			      i <- i-1
		   A[i+1] <- t

Selection Sort

  • Idea “Najdi nejmenší prvek v poli a vyměň ho”
    • min z
    • min z
    • min z
  • Složitost algoritmu v nejhorším i v nejlepším případě je
  • In-place třídění (prostorová složitost )
  • Nestabilní třídící algoritmus
Selection-Sort(A[0 ... n-1])
	for j <- 0 to n-2
		do iMin <- j
		   for i <- j+1 to n-1
				do if A[i] < A[iMin] then iMin <- i
		   t <- A[j]; A[j] <- A[iMin]; A[iMin] <- t

Bubble Sort

  • Bublinkové třídění
  • Nejmenší prvek probublá vlevo, pak probublá druhý nejmenší prvek …
  • Další varianty Bubble Sort:
    • Optimalizace vynecháním některých průchodů
    • Cocktail Sort
  • Složitost algoritmu v nejhorším případě:
  • In-place třídění (prostorová složitost )
  • Stabilní třídící algoritmus
Bubble-Sort(A[0 ... n-1])
	for j <- 0 to n-2
		do for i <- n-1 downto j+1
			do if A[i] < A[i-1]
			   then temp <- A[i]; A[i] <- A[i-1]; A[i-1] <- temp

Předchozí: Problém třídění, rozdělení třídících algoritmů, dolní mez složitosti třídění porovnáváním Následující: Quick sort a jeho složitost Celý okruh: 1. Teoretické základy informačních technologií