# Algorithms

Algorithms

### Introduction to the theory of algorithms

We'll introduce algorithms and define what they are, understand the asymptotic time complexity, and explain other terms such as Stability or In Place.
FreeWritten by David Capka

### Bubble sort

FreeUnratedWritten by David Jancik

### Selection sort

The selection sort algorithm sorts numbers according to their values. We'll go over it in detail and do some examples in the Java and C# languages.
FreeUnratedWritten by David Jancik

### Merge Sort

The merge sort algorithm sorts items in an array based on their values. You'll get a detailed description of the algorithm with diagrams.
FreeUnratedWritten by David Jancik

### Insertion sort

FreeUnratedWritten by David Jancik

### Heapsort

FreeWritten by David Jancik

### Quicksort

FreeUnratedWritten by David Jancik

### Cards to practice sorting algorithms

Feel free to print these cards out. They'll help you practice sorting algorithms and understand how they're put to use.
FreeUnratedWritten by David Jancik

### A lower approximation of the sorting problem complexity

Proof of the lower approximation of sorting problem complexity based on the mutual comparison of items. The decision tree will be incorporated.
FreeUnratedWritten by David Jancik

### A big comparison of the basic sorting algorithms

A big comparison of the basic sorting algorithms, i.e. selection sort, bubble sort, merge sort, heap sort, and quick sort.