Chapter 2 General:
-Watch the MIT video if it is only about Ch2.
-Work out all proofs for the following algorithm
-insertion sort
-selection sort
-bubble sort
-binary insertion sort
-merge sort
-linear search
-binary search
-Implement 2.3.7, P2.1, Horner's rule in P2.3 and inversion calculation in P2.4. 2.3.7 has two solutions, one is trivial, one is based on merge. Think them through.
-Read all the solution sets after I finished the first 3 items.
-work out cost analysis similar to P.26 on selection sort, linear search and merge sort (tedious).
Chapter 3 General
-Read the Wikipedia's entries in the big Oh notation, iterative logarithm and all Math related subject.
-Finish all exercises of Sedgewick Chapter 2.
Insertion sort:
-C, perl, python (done)
-sentinel version of straight insertion sort (done)
-binary search (done, now a separate item)
-binary insertion sort (done, now a separate item)
-recursive version of insertion sort (done)
-shell sort, how does the decrement business work?
-library sort
-tree sort(from wikipedia, what is it?)
-shell sort, how does the decrement business work?
-library sort
-tree sort(from wikipedia, what is it?)
-C++,java, lisp, ASM
-performance, worst case, average case
-different ways to avoid -INT_MAX as the sentinel. (state of art?)
-non-adaptive version of insertion sort.
-TAOCP Exercise in 5.2.1
-Sedgewick 6.3
-Sedgewick 6.3 Exercise
-performance, worst case, average case
-different ways to avoid -INT_MAX as the sentinel. (state of art?)
-non-adaptive version of insertion sort.
-TAOCP Exercise in 5.2.1
-Sedgewick 6.3
-Sedgewick 6.3 Exercise
Selection sort:
-C, perl, python (done)
-C++,java, lisp, ASM
-stable version of selection sort.
-bidirectional version of selection sort.
-comparison with insertion sort.
-comparison with bubble sort
-recursive version of insertion sort
-cycle sort
-heap sort variants
-tournament sort
-smoothsort.
-TAOCP Exercise in 5.2.3
-Sedgewick 6.2
-Sedgewick 6.2 Exercise
-C, perl, python (done)
-C++,java, lisp, ASM
-stable version of selection sort.
-bidirectional version of selection sort.
-comparison with insertion sort.
-comparison with bubble sort
-recursive version of insertion sort
-cycle sort
-heap sort variants
-tournament sort
-smoothsort.
-TAOCP Exercise in 5.2.3
-Sedgewick 6.2
-Sedgewick 6.2 Exercise
Binary Insertion sort:
-C (done)
-perl, python, C++, java, lisp, ASM
Bubble sort:
-C (done)
-shaker sort
-perl, python, java, lisp, ASM
-TAOCP 5.2.2
Merge sort:
-C, perl(done)
-python, C++,java, lisp, ASM
-timsort
-performance, worst case, average case
-Improvements from Sedgewick.
-Non-recursive version or Bottom up version
-in place mergesort.
-no extra memory implementation (state of art?)
-variations of merge sort.
-merge sort with k list and a k-list merging. 2.4.1
-TAOCP Exercise in 5.4
-Sedgewick 8 (read - done)
-Sedgewick 8 Exercises.
-Shene's 5-9 Exercises.
-TAOCP Exercise in 5.4
-Sedgewick 8 (read - done)
-Sedgewick 8 Exercises.
-Shene's 5-9 Exercises.
-where can I find problems which apply merging?
-Implement CLRS 2.3-7 using merging
-like to calculate number of inversions.
Linear search:
-C, MIXAL (done)
-perl, python, C++,java, lisp, ASM
-perl, python, C++,java, lisp, ASM
-TAOCP 6.1 and exercises. Remember, it's not as trivial as you may think.
Binary search:
-C (done)
-perl, python, C++,java, lisp, ASM
-perl, python, C++,java, lisp, ASM
-At least 100 problems which applies binary search.
-TopCoder's exercises on binary search.
-Implement CLRS 2.3-7.
-Shene Chapter 4.
-After reading Gries, make sure you prove your own binary search is correct.
-TAOCP 6.2 and exercies.
-Chapter 4 and 5 of Programming Pearl exercises.
-Sedgewick 12.4
-Fibonacci search
-Range search
-Variations of binary search.
-Thinking: variations of binary search. They produce different lo, up bounds. Interesting.
-Thinking: can we combine the idea of distribution in binary search?
-Thinking: what happens if binary search is applied to a sequence with N inversions?Inversions:
-Try to understand TAOCP 5.1 as much as I can.
No comments:
Post a Comment