Problem Setting

CREATED: 200701060230 ** Stack

• Sorting using 3 stacks, using 2 stacks
• Pushing and popping, rails
• Simulation of VM

** Queue

• Knight tour
• Maze exploration

** Analysis/sorting

• hotel
• bus driver
• max contig sum

** Heap

• keep top k elements

** Recursion

• arbitrary configuration of ToH
• ToH with pairs of discs

** Hashing

• permutation <-> number
• rabin karp string matching

** Unsorted

• Optimal binary search tree in O(n^2) by Knuth
• Convert a given BST into a complete tree
• Given a tree, two nodes x, y, determine if x R y ** R = ancestor, descendant, left, right
• Tree isomorphism
• Group of anagrams
• Coolumb ruler
• Local alignment
• RNA folding
• Largest rectangle in 0/1 matrix
• Range query using segment tree
• Modified Floyd ** no of paths between two vertices ** no of even/odd length paths ** no of shortest paths ** label and length of lexicographically first shortest path
• Edit distance ** cursor at first letter ** operations: advance, replace, delete, kill, insert
• Rock games, splitting piles
• No of topological ordering of a DAG
• 1-1 mappings
• Betweeness of edges

** References

• //Text algorithms//, Crochermore Kyttes
• //Algorithms for finding patterns in strings//, Aho
• //Algorithms on Strings, Trees and Sequences//, Gusfield