Coder Social home page Coder Social logo

learn-js's Introduction

Learn JS

This is a compilation of data structures, algorithms and practical problems that are sure to turn you into a javascript wunderkind.

Getting started

  • clone this repository
  • install node lts (v8.9.1)
  • npm install
  • npm install -g jest-cli
  • cd data-structures/linked-list
  • edit index.js
  • run tests with jest

This is a work in progress, folders with a README have been completed.

Beginner

Data Structures

Algorithms

Advanced

Data Structures

  • Trie (Used in string comprehension) variants include Prefix Trie & Suffix Trie
  • Tree
    • Binary Search Tree
    • AVL Tree
    • Red-Black Tree
    • Segment Tree (interval tree)
    • Fenwick Tree
  • Graph
  • Disjoint Set
  • Bloom Filter

Algorithms

Beginner

  • Arrays
    • Map
  • Promises
    • Throttle
  • Immutable
    • Update
    • Value
  • Sets
    • Cartesian Product (cross product)
    • Fisher-Yates Shuffle - random permutation generator of a finite sequence
  • Strings
    • Hamming Distance - Number of character differences between two strings
  • Searches
    • Linear Search
    • Jump Search (Block Search) in a sorted array
    • Binary Search in a sorted array
    • Interpolation Search (reqs a uniformly distributed sorterd array)
  • Sorting
    • Bubble Sort
    • Selection Sort
    • Insertion Sort
    • Heap Sort
    • Merge Sort
    • Quicksort
    • Shellsort
  • Trees
    • Depth-First Search (DFS)
    • Breath-First Search (BFS)
  • Graphs
    • Depth-First Search (DFS)
    • Breath-First Search (BFS)
    • Kruskal's Algorithm finds the Minimum Spanning Tree for a weighted undirected graph
  • Math
    • Bit Manipulation
    • Factorial
    • Fibonacci Number
    • Primality Test
    • Euclidean Algorithm (Greatest Common Divisor)
    • Least Common Multiple
    • Sieve of Eratosthenes - guess the number of primes up to a given limit
    • Is Power of Two - check if the number is a power of two
    • Pascal's Triangle
  • Uncategorized
    • Flatten thunk
    • Middleware
    • Async function execution (parallel, serial and race)
      • via Callback
      • via Promise
    • Tower of Hanoi
    • Square Matrix Rotation (in place)
    • Jump Game
      • backtracking
      • dynamic programming (top-down + bottom-up)
      • greedy
    • Unique Paths
      • backtracking
      • dynamic programming (top-down + bottom-up)
      • greedy

learn-js's People

Contributors

alexjuarez avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.