[ Home | Jit Sengupta]


Session 5: Algorithms, Hashing, and Efficiency

Arijit Sengupta, Information Systems and Operations Management
Raj Soin College of Business, Wright State University

http://www.wright.edu/~arijit.sengupta

Session Co-instructors

Notes

Algorithms ... Hashing ... Efficiency - its like three keywords of a technical white paper picked up by a keyword extracter. They are somewhat the same, and they are related, but at the same time, people need to know how the relationship is built. To me, an algorithm is just a strategy of solving a problem in a systematic approach. Efficiency tells you how good the algorithm is - how well does it scale. And Hashing is one super cool algorithm that shows the limit of efficiency in terms of insert/delete/find operations in a list. In this session, I will present a quick overview of developing algorithms as a problem-solving strategy, talk about efficiency of algorithms, and quickly discuss Hashing as a way of achieving really efficient insert/delete/find method.

This session will cover the following topics:

Lecture Notes

I have the lecture notes for this session as a powerpoint presentation, available from: jett3-jit.ppt.

Samples and other Misc. Stuff

Here are some samples that we may or may not use in the class. I will assume that everyone has access to Dr. Java - you may want to download the samples in your own workspace before we begin.

  1. Code for Solution to the Maze Problem
  2. A zip file containing a jemo java code to explain efficiency
  3. An applet showing an O(N2) Sort (Insertion Sort) Source: Sun Microsystems
  4. An applet showing an O(N7/6) Sort (Shell Sort) Source: Robert Lafore, Data Structures and Algorithms in Java
  5. An applet showing an O(N log n) Sort (QuickSort) Source: Robert Lafore, Data Structures and Algorithms in Java
  6. An applet showing 4 sorting algorithms running together Source: Robert Lafore, Data Structures and Algorithms in Java
  7. An applet showing hashtable with linear probing Source: Robert Lafore, Data Structures and Algorithms in Java
  8. An applet showing hashtable with chaining Source: Robert Lafore, Data Structures and Algorithms in Java

All materials copyright ©2005 Arijit Sengupta. Last updated Nov 1, 2005.