Dynamic Programming, Binary Trees - Design an Computer Algorithms | CMSC 451, Assignments of Computer Science

Material Type: Assignment; Class: DSG&AN CMPTR ALGOR; Subject: Computer Science; University: University of Maryland; Term: Unknown 2003;

Typology: Assignments

Pre 2010

Uploaded on 02/13/2009

koofers-user-exm
koofers-user-exm 🇺🇸

9 documents

1 / 1

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Summer 2003 CMSC 451: Homework 4 Instructor: Ken Hennacy
Midterm 1 Study Sheet
Emphasis is towards Dynamic Programming.
1. Recurrences
a. Psuedocode implementation (top down and bottom up).
b. Derivation of recurrences from first principles.
c. Application of the Master Method (provided on test).
2. T(n) [Worst or Average Case as appropriate] for various types of sorting.
a. Insertion Sort
b. Merge Sort
c. Heap Sort
d. Quick Sort
e. Counting Sort
f. Algorithmic Analysis in general
3. Binary Trees
a. Definition and use
b. Optimization utilizing dynamic programming
4. Assembly Line Problem, Matrix Multiplication
5. Memoization
Points to consider:
1. Difference between performing cost calculations of an algorithm T(n), and cost
calculations associated with an algorithm (Ex: matrix mult. & opt. binary search
tree).
2. Impact of Tree Structure on T(n) for various algorithms that use trees.
3. Understanding why you have to use big O notation as opposed to θ.
4. Understanding how to split a problem up into smaller subtasks that are identical to
the larger task. Adding the appropriate terms to this division process to complete
a recurrence.
5. For remembering T(n) dependencies, understand the algorithm’s operation, i.e. is
it dependent on “divide and conquer”, explicit loops, or data structures? Does it
involve comparisons?

Partial preview of the text

Download Dynamic Programming, Binary Trees - Design an Computer Algorithms | CMSC 451 and more Assignments Computer Science in PDF only on Docsity!

Summer 2003 CMSC 451: Homework 4 Instructor: Ken Hennacy

Midterm 1 Study Sheet

Emphasis is towards Dynamic Programming.

  1. Recurrences a. Psuedocode implementation (top down and bottom up). b. Derivation of recurrences from first principles. c. Application of the Master Method (provided on test).
  2. T(n) [Worst or Average Case as appropriate] for various types of sorting. a. Insertion Sort b. Merge Sort c. Heap Sort d. Quick Sort e. Counting Sort f. Algorithmic Analysis in general
  3. Binary Trees a. Definition and use b. Optimization utilizing dynamic programming
  4. Assembly Line Problem, Matrix Multiplication
  5. Memoization

Points to consider:

  1. Difference between performing cost calculations of an algorithm T(n), and cost calculations associated with an algorithm (Ex: matrix mult. & opt. binary search tree).
  2. Impact of Tree Structure on T(n) for various algorithms that use trees.
  3. Understanding why you have to use big O notation as opposed to θ.
  4. Understanding how to split a problem up into smaller subtasks that are identical to the larger task. Adding the appropriate terms to this division process to complete a recurrence.
  5. For remembering T(n) dependencies, understand the algorithm’s operation, i.e. is it dependent on “divide and conquer”, explicit loops, or data structures? Does it involve comparisons?