---
id: sorting-methods
title: "Sorting Methods"
author: Nathan Chen
description: "Methods for efficently sorting an array."
prerequisites:
 - intro-ds
frequency: 1
---

import { Problem } from "../models";

export const metadata = {
  problems: {
    bubble: [
    	new Problem("Silver", "Out of Sorts", "834", "Very Hard", false, []),
    ],
  }
};

<Resources>
  <Resource source="CPH" title="3.1 - Sorting Theory" starred>types of sorting</Resource>
</Resources>

<br />

(why are these important?)

<IncompleteSection />

There are many sorting algorithms, here are some sources to learn about the popular ones:

## Bubble Sort

<Problems problems={metadata.problems.bubble} />

### Tutorial

  - [HackerEarth Quicksort](https://www.hackerearth.com/practice/algorithms/sorting/quick-sort/tutorial/)
    - expected $O(N\log N)$
  - [HackerEarth Mergesort](https://www.hackerearth.com/practice/algorithms/sorting/merge-sort/tutorial/)
    - $O(N\log N)$


## Problems

???

<IncompleteSection />