efficientsort

package
v0.0.0-...-c4ba0da Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 19, 2019 License: MIT Imports: 5 Imported by: 0

README

Golang + Algorithm = goAlg

Sorting Algorithms

In this section I introduce Sorting Algorithms

Efficient Sort
Algorithm Best Case Average Case Worst case
MergeSort O(nlog(n)) O(nlog(n)) O(nlog(n))
QuickSort O(nlog(n)) O(nlog(n)) O(n²)
HeapSort O(nlog(n)) O(nlog(n)) O(nlog(n))
TimSort O(n) O(nlog(n)) O(nlog(n))
TreeSort O(n) O(nlog(n)) O(nlog(n))
IntroSort O(nlog(n)) O(nlog(n)) O(nlog(n))
TournamentSort O(nlog(n)) O(nlog(n)) O(nlog(n))
SmoothSort O(n) O(nlog(n)) O(nlog(n))
BlockSort O(n) O(nlog(n)) O(nlog(n))
StrandSort O(n) O(n²) O(n²)

Documentation

Overview

Package of Efficient Sort Algorithms

See Readme.md for more info.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildMaxHeap

func BuildMaxHeap(arr []interface{}, comp goutils.TypeComparator, low, high int)

Build Max heap (rearrange array)

func BuildMinHeap

func BuildMinHeap(arr []interface{}, comp goutils.TypeComparator, low, high int)

Build Min heap (rearrange array)

func GetMinSizeRun

func GetMinSizeRun(num int) int

Returns the min size run

func HeapSort

func HeapSort(arr []interface{}, comp goutils.TypeComparator, low, high int)

Heap Sort

func IntroSort

func IntroSort(arr []interface{}, comp goutils.TypeComparator, low, high int)

Intro Sort

func MaxHeapify

func MaxHeapify(arr []interface{}, comp goutils.TypeComparator, low, high int)

To max heapify a subtree rooted with node i which is an index in arr[]

func Merge

func Merge(arr []interface{}, comp goutils.TypeComparator, low, mid, high int)

Merges two subarrays of arr[] = arr[low..mid] + arr[mid+1..high]

func MergeSort

func MergeSort(arr []interface{}, comp goutils.TypeComparator, low, high int)

Merge Sort

func MinHeapify

func MinHeapify(arr []interface{}, comp goutils.TypeComparator, low, high int)

To min heapify a subtree rooted with node i which is an index in arr[]

func QuickPartition

func QuickPartition(arr []interface{}, comp goutils.TypeComparator, low, high int) int

Fast pivoting selection

func QuickSort

func QuickSort(arr []interface{}, comp goutils.TypeComparator, low, high int)

Quick Sort

func TimSort

func TimSort(arr []interface{}, comp goutils.TypeComparator, low, high int)

Tim Sort Divide the array in blocks of MINSIZERUN that should be a power of 2.

func TreeSort

func TreeSort(arr []interface{}, comp goutils.TypeComparator, op goutils.TypeOperator, toInt func(interface{}) interface{}, low, high int)

Tree Sort

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL