From 8b0063a025bab0ca45c83adec8942f9182b50ae0 Mon Sep 17 00:00:00 2001 From: James Su Date: Mon, 9 Dec 2019 16:34:13 +0000 Subject: [PATCH] Add new file --- .../ICS4U1/Sorting Methods/Overview.md | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 Grade 10/Computer Science/ICS4U1/Sorting Methods/Overview.md diff --git a/Grade 10/Computer Science/ICS4U1/Sorting Methods/Overview.md b/Grade 10/Computer Science/ICS4U1/Sorting Methods/Overview.md new file mode 100644 index 0000000..3e30109 --- /dev/null +++ b/Grade 10/Computer Science/ICS4U1/Sorting Methods/Overview.md @@ -0,0 +1,24 @@ +# Overview + +**Big O Notation:** In computer science, big O notation is used to classify algorithms according to how their running time or space requirements grow as the input size grows. + +**Time Complexity:** The analysis of the time it takes for a program to finish execution in relation to the number of operations it does. + +**Space Complexity:** The analysis of the space/memory a program takes during execution. + +**Overhead:** The amount of memory and other resources required to set up an algorithm. + +**Stable:** A sorting algorithm is said to be stable if two objects with equal keys appear in the same order in sorted output as they appear in the original array. Such as the same keys keep their relative order as before being sorted. + +**Adaptive:** An adaptive algorithm has a different best and worst case. Useful for a specific case. + +**Recursion:** When a method calls on itself to break down the problem into a simpler version of that problem + +### How We meaure efficiency +- Time complexity (how long it takes according to data - size) +- Number of swaps/comparisons (How many times it compares) +- Space Complexity (How much space it takes according to data-size) +- Overhead (the overall resources that the program uses) +- Stable +- Adability +- Difficulty of implementation: how hard is it for a programmer to implement this algorithm. \ No newline at end of file