Auto Draft

  • What is an algorithm – a set of steps to accomplish a task. Algorithms are the core of programming.

  • Big O notation – A way to formally analyze the performance or complexity of an algorithm. Help evaluate how the run time changes with the input size. Common classifications are O(1), O(log n), O(n), O(n log n), O(n^2), O(2^n), O(n!).

  • Common logic constructs – Conditionals, loops, functions/methods. Algorithms use these to iterate, make choices and organize the steps.

  • Common data structures – Arrays, linked lists, stacks, queues, trees, hashes. Representing data in different ways enables different algorithms.

  • Sorting algorithms – Selection sort, insertion sort, bubble sort, merge sort, quicksort. How to sort a list from lowest to highest value.

  • Searching algorithms – Linear search, binary search. How to efficiently find a value within a data structure.

  • Greedy algorithms – Minimum spanning tree, Huffman coding. Choosing locally optimal decisions with the hope of finding a global optimum.

  • Divide and conquer – Merge sort, closest pair. Breaking problems into smaller sub-problems until they can be solved directly.

  • Dynamic programming – Knapsack problem, regex matching. Breaking problems into optimized sub-problems to avoid recomputing solutions.

  • Algorithm patterns – Brute force, decreasing dimensionality, transforming the problem space, limiting the problem space.

  • When/how to analyze algorithm performance both mathematically and empirically.


Be the first to add a review.

Please, login to leave a review
Get course
Enrolled: 0 students
Duration: 2 Months
Video: 2
Level: Débutant


Working hours

Monday 9:30 am - 6.00 pm
Tuesday 9:30 am - 6.00 pm
Wednesday 9:30 am - 6.00 pm
Thursday 9:30 am - 6.00 pm
Friday 9:30 am - 5.00 pm
Saturday Closed
Sunday Closed