Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

# Algorithm Fundamentals

via Brilliant

### Overview

An algorithm is a step-by-step process to achieve some outcome. When algorithms involve a large amount of input data, complex manipulation, or both, we need to construct clever algorithms that a computer can work through quickly.

By the end of this course, youâ€™ll have mastered the fundamental problems in algorithms.

### Syllabus

• Building Blocks: The nuts and bolts of how computer scientists communicate algorithmic ideas.
• Conditional Algorithms: All interesting algorithms perform tests, and react in different ways based on the results of those tests.
• Repetition: Performing simple actions repeatedly is at the heart of every interesting algorithm.
• Storing Information: Arrays are a fundamental way of storing information.
• Manipulating Numbers: Most algorithms store and manipulate numbers using assignable variables.
• Arrays: Arrays are critical for understanding algorithms that manipulate collections of information.
• Searching an Array: Arrays can store lots of information. To find out what's there, you just have to look!
• Array Algorithms: Master repetition through understanding algorithms that manipulate arrays.
• Binary Search: Looking in the middle of a sorted array requires a bit of cleverness, but it can save you a lot of work.
• Sorting an Array: Sorting an array with selection sort unlocks the power of binary search.
• Insertion Sort: There's more than one way to sort an array. Insertion sort is another classic algorithm for sorting.
• Stable Matching: You now have the tools to understand and reason about important algorithms, including algorithms that can change the course of people's lives.
• The Stable Matching Problem: Discover a simple problem faced by every teaching hospital and medical student every year.
• Using Greediness: An individual applicant can make the best decision with a greedy algorithm.
• Deferred Acceptance Algorithm: The Gale-Shapley algorithm uses individual greedy decisions to produce a global matching.
• Algorithmic Complexity: We will analyze the Gale-Shapley algorithm to show that is correct and always finishes.
• Correctness: An algorithm for producing a stable matching is only good if it outputs a stable matching!
• Termination: A good algorithm can't just promise that it will do the right thing if it finishes. A good algorithm actually has to deliver.
• Variants: Transition from an oversimplified problem to one that's much more like the real world.

## Reviews

Start your review of Algorithm Fundamentals

### Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.