16b: Course Review

ICS211, Spring 2013
Dr. Zach

(switch view)

Status

ICS211 Course Catalog Description

Algorithms and their complexity, introduction to software engineering, data structures, searching and sorting algorithms, numerical errors.

Oops: Numerical errors

From Syllabus: Course Objectives

Upon successfully completing this course, students will be:

Java Programming

Software Engineering and OOP

Data structures and ADTS

Algorithms

Practical application to problems

After this course

If you have a B or better:

If you have a B- or lower:

Advanced Data Structures

Final Exam

Review

Questions?

Job Interview Question #6

How would you implement an LRU cache?
My solution: 
A map (hashtable) of keys to entry-containing nodes in a doubly-linked list.
On each access, move node to front of the list.  LRU is last item in list.

Great example of building a custom ADT!

Job Interview Question #7

Assume you have a max-heap of size n.
How do you find the k largest elements in that heap 
  with a big-O performance that does not depend on n?

Challenge:

Is it possible to retrieve the k largest element in O(k) time?

Provide either a solution or a convincing proof that it is not possible and I'll give you 15 pts EC on your exam score.

Final Days

Thank You