Project: CS in Website

Here is the plan for the CS layout:

Data Types:

  • Primitive
  • Arrays
  • Dynamic Arrays (ArrayLists or Vectors)
  • Lists
  • Stacks
  • Queues
  • Priority Queues
  • Trees
  • BST
  • Graphs
  • Heaps
    • Min-Max Heaps
    • Fibonacci Heaps
    • Soft Heaps – http://www.siam.org/proceedings/soda/2009/SODA09_053_kaplanh.pdf, http://www.cs.princeton.edu/~chazelle/pubs/sheap.pdf
  • Sets
  • Maps
  • Disjoint Set
  • Range Trees
  • Segment Trees
  • Interval Trees
  • Disjoint Set Data Structures

 

Sorts:

  • Bogo Sort
  • Bubble Sort
  • Selection Sort
  • Insertion Sort
  • Heap Sort
  • Soft Heap Sort 🙂
  • Merge Sort
  • Quick Sort
  • Radix Sort
  • Intro Sort

 

Simple Algorithms:

  • Ad-Hoc Algorithms
  • Greedy Algorithms
    • Making Change
    • Huffman Trees
    • Graph Theory

 

Graph Theory:

  • BFS
  • DFS
  • DFS ID
  • Floodfill

 

Shortest Path Graph Theory:

  • A*
  • Dijkstra
  • Floyd-Warshall
  • Bellman Ford
  • Slow-Fast Cycle Finding

 

Advanced Graph Theory:

  • Minimal Spanning Tree
  • Prim’s Algorithm
  • Kruskall’s Algorithm
  • Eulerian Tour
  • Network Flow

 

Strings:

  • Hashing
    • Rabin-Karp
    • others?
  • Matching
    • Knuth-Morris-Pratt String Matching
  • Suffix Arrays
  • Suffix Trees
  • Suffix Trie
  • Moniker’s Algorithm (not really strings…)

 

Dynamic Programming:

  • Integer Knapsack
  • Continuous Knapsack
  • Maximum Value Contiguous Subsequence
  • Making Change
  • Longest Increasing Subsequence
  • Box Stacking
  • Building Bridges
  • Integer Knapsack Problem (Duplicate Items Forbidden)
  • Balanced Partition
  • Edit Distance
  • Counting Boolean Parenthesizations
  • Optimal Strategy for a Game
  • Two-Person Traversal of a Sequence of Cities
  • Bin Packing (Simplified Version)

 

Computational Geometry:

  • Static
    • Convex hull
    • Line segment intersection
    • Delaunay triangulation
    • Voronoi diagram
    • Linear programming
    • Closest pair of points
    • Euclidean shortest path
    • Polygon triangulation
    • Mesh generation
  • Query
    • Range searching
    • Point location
    • Nearest neighbor
    • Ray tracing

Leave a Reply

Your email address will not be published. Required fields are marked *