About this Course
Algorithms and data structures are the essential frameworks for solving almost any computer engineering problem. You need a fundamental grasp of these tools to understand how computers and programming languages work, their relative strengths and weaknesses and what makes a specific solution the best choice.
In this course, you’ll examine, create, compare and test the major types of algorithms and data structures. You’ll learn how to conduct a Big-O analysis to assess the complexity and runtime of your code, and how to understand the tradeoffs of using different algorithms and data structures. You’ll learn to identify different problem-solving approaches and how to forge solutions for optimal performance and efficiency.
This course is for experienced programmers and doesn’t teach any programming. It is language-agnostic, but coursework is in Python or C#.
What You'll Learn
- How to understand number base systems and recursion
- Approaches for sorting algorithms and Big-O analysis
- Techniques for using arrays, lists, stacks, queues, binary trees and binary search trees, hash tables, binary heaps and priority queues, and graphs
Get Hands-On Experience
- Build data structures from scratch
- Create and implement algorithms from scratch
- Practice common job interview problems