/Basic-Algorithms

Repo of all algorithmic programming assignments done for basic algorithms

Primary LanguageTeXGNU General Public License v3.0GPL-3.0

CSCI-UA-310: Basic Algorithms

By Jason Yao

Description

An repository to store all completed homework assignments for the "Basic Algorithms (CSCI-UA-310)" class.

Date: Spring, 2015

Location: New York University

Professor: Dr. Yevgeniy Dodis

Language(s): LaTeX

Course outcomes

  • Learned LaTeX for academic, personal, and professional use

  • Learned standard algorithms such as:

    • Sorting
      • Merge sort
      • Quick sort/Randomised quick sort
      • Heap sort
      • Counting sort
      • Radix sort
    • Searching
      • Binary search
      • Tree/BST traversals (pre-order, in-order, post-order)
    • Encoding
      • SOLE encoding <--- Our professor's work with prefix-free encoding!
      • Huffman encoding
    • Graphs
      • Traversals (BFS, DFS)
      • Single shortest path (Dijkstra's, Bellman-Ford)
      • Minimum spanning trees (Prim's, kruskal's)
      • All-pairs shortest path (Floyd–Warshall)
  • Reviewed data structures such as:

    • Stacks
    • Heaps/Priority Queues
    • Queues
    • Trees
    • BSTs/Balanced BSTs (AVL trees, Red-Black trees, 2/3 Trees)
    • Graphs
    • HashMaps/sets
  • Learned standard algorithmic approaches and axioms such as:

    • Dynamic programming
    • Greedy approaches
    • Divide & Conquer
    • Runtime analysis of algorithms
      • Big-O, Little-O
      • Theta
      • Little-Omega, Big-Omega
    • Correctness analysis of algorithms
      • Proof by induction
      • Domain/Range substitution
      • Master theorem

License

This repo is licensed under the GNU GPL v3, a copy of which may be found here