Skip to content

ulbanata/algo_book

Repository files navigation

Algorithms for Web Devs

List of Algorithms: Sorts- Dijkstra's BFS DFS MST BST Heap Neural Network

  1. Introduction to Algorithms
    1. What they are
    2. Do I need to know math?
  2. Problem Solving
  3. What happens when you run Code?
  4. Data Structures
    1. Arrays 2. Strings
    2. Linked Lists 3. Stacks 4. Queues
    3. Hashes
    4. Trees
      1. Binary Trees
      2. Heaps
      3. Tries
    5. Graphs
      1. Directed vs. Undirected
  5. Big O Notation
  6. Recursion
  7. Sorting Algorithms
    1. Selection Sort
    2. Insertion Sort
    3. Bubble Sort
    4. Merge Sort
    5. Quick Sort
    6. Radix Sort
  8. Array Algorithms
    1. Randomized Selection
    2. Deterministic Selection
  9. Tree Algorithms
    1. BFS/DFS
    2. Priority Queues/Heaps?
    3. Binary Search Trees
  10. Graph Algorithms
    1. Minimum Spanning Tree
    2. Dijkstra's Algorithm
  11. String Algorithms
    1. Autocomplete with Tries
  12. P vs. NP
  13. Unknown Categories
    1. Data Compression
    2. BCrypt
  14. Interviewing
    1. What to Expect
    2. What they're (hopefully) looking for
    3. How to Practice
    4. Interview Questions History
  15. Language Overview
    1. Difference Between Languages
    2. Ruby
    3. JS
    4. C
    5. C++
    6. Java
    7. Python
    8. Go
    9. Dart
    10. PHP
    11. Language Chart
  16. Framework Resources
  17. Learning Resources

Introduction

What they are

Ah, algorithms. A dirty word in web development. The mere mention of the word makes some programmers cower in fear. For those of you without a technical background, you might instantly think “MATH! Anything but math!”. If you’ve heard about Google, you’ve probably heard someone talk about the “Google Search Algorithm.” But the word shouldn’t scare you. It has been built up over the years as something to be feared, to be complicated, to be strictly mathematical. But that’s not what it means at all. Algorithms are, at their core, the steps taken to solve a problem. A course on algorithms would be better titled “Programming Problem Solving.”

Let’s jump in and learn an algorithm. If you’ve taken the Ruby course on codecademy, you’ve probably already seen this one:

def sum(x, y)
  x + y
end

Above is your first algorithm in CS! It’s a method that does addition for you. It takes in two numbers, stores them in the variables x and y, and then returns the answer, the sum of x and y.

Do I need to know math?

The purpose of this book is to teach algorithms with as little math as possible. Math will be added in for those that want to delve deeper in their understanding, but most algorithms can be explained without getting too much into the math.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published