Brian Sunter

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

Share this post