Questions (due 3/3, 11:59pm)

Once you have completed the readings, please answer the following questions:

  1. Look over the lecture notes from Dr. Plank and the discussion therein. Why do you think most real-world sorting (i.e., C++ Sort) implementations use some form of quick sort? Feel free to also refer to your benchmarking results from Project #2.
  2. (202 review, but imporant re: Dijstra's algorithm and Prim's) When inserting an entry into a binary heap, we must perform reheapification. What is the purpose and complexity of this process?

  3. Briefly explain what it means for a graph to be: A. Connected? B. Acyclic? C. Directed? D. Simple? E. Weighted?
  4. What is a reason for using an adjacency matrix instead of an adjacency list to represent a graph?

Optional reinforcement reading material

Some of you have benefited a lot from the reading, others prefer to use different research methods (e.g., google). For this reason the following readings

  1. Data Structures and Other Objects Using C++:

    • Chapter 10.1-2 Review of binary trees, vector representation of trees

      15.1 - 15.3 Information on graphs

    • Chapter 11.1-2 (review of heaps, Priority queues and heap algorithms)

Alternative

If you do not have the primary textbook, you can use the following free alternative texts instead:

  1. Data Structures & Algorithm Analysis

    • 5.5 Heaps and Priority Queues

      11.1 - 11.2 Graphs and 11.3 graph traversals

    • 7.6 Heapsort

  2. Open Data Structures


Submission

To submit your reading assignment, you must upload a text/PDF file onto Canvas prior to class