Algorithms Boot Camp
I'm organizing some of my notes on data structures and algorithms in a "boot camp" form.
Intro
About this Guide
Data structures and algorithms are among the most valuable concepts to learn in computer science.
I’m organizing some of my notes on data structures and algorithms in a “boot camp” form.
I’ll teach you how to use data structures and algorithms to solve problems every week as a section in my newsletter
I’m not writing this guide from an expert’s perspective but rather from a student’s perspective. I’ll be learning along with you and solidifying my own knowledge.
Feel free to correct me, make suggestions, and ask questions on Twitter. This guide is a living document; hopefully, a community of like-minded people will benefit from it.
How the Bootcamp Works
I built out a complete outline for every algorithm topic here algorithms-boot-camp-study-guide
The complete guide of what I plan to learn is extensive, so I’m building it out in public as a series of 3-month long “boot camp” learning sprints.
There’s a curriculum for the next 3-months on this page, so people will know what to expect and can give their input on what they want to see.
I’ll send a newsletter post about a new topic each week. All the future topics are listed below.
If you’re interested in learning algorithms or how to use logseq, you can follow me on this site, Twitter, or the newsletter to get updates.
Why Learn Algorithms?
Sometimes you will face a complex problem at work requiring in-depth knowledge of data structures and algorithms.
If you don’t understand algorithms, you may accidentally write code that runs extremely inefficiently. If you’re not careful, you can write code that works for small inputs but breaks on large ones later on. Or you might try to implement something that’s not theoretically possible to do efficiently at all.
Companies are also asking questions like these in technical interviews, so even if you don’t use them daily, you should know them if you’re interviewing or conducting interviews. It’s like the new IQ test.
Who is this for?
You know a little bit of programming and want to get better at algorithms
You are an experienced programmer and want to solidify your knowledge of algorithms
You are interested in my process for taking notes on code in logseq
Roadmap
Phase 1
Intro to Algorithms, Sorting, and Time Complexity
intro-to-algorithms
Intro to the Boot Camp
What is an Algorithm?
Data Structures 101
Sorting and Bubble Sort
time complexity
posteriori-vs-a-priori-analysis-of-algorithms
Time Complexity / Space Complexity Overview
Big O Notation
Worst Case
Average Case
Best Case
Recurrence Relation
Arithmetic Series
Bubble Sort Analysis
Typescript Overview
Typescript Intro
Intermediate Typescript
Test Driven Development
Design Patterns
Recursion
Recursion 101
Base Case
Inductive Step
Recursive Case
Recursive Exponent
Fibonacci Numbers
Recursion in Detail
Is Palindrome
Pascals Triangle
Backtracking
Valid Parenthesis
N Queens
Limitations
Call Stack
Tail Recursion
Divide and Conquer
Merge Sort
Linked List
Linked List 101
Typescript Implementation
Operations
Insert
Delete
Find
Problems
Reverse
Merge Two Sorted Linked lists