Course Content

The text book for this course is Data Structures Using C and C++, by Yedidyah Langsam, Moshe J. Augenstein, and Aaron M. Tenenbaum, second edition, Prentice Hall, 1996.

We cover Chapters 1 to 7. The links below take you to the listings of the programs we discussed in class.

Chapter 1 : Introduction to Data Structures

  • L-1 Numbers and Abstract Data Types
  • L-2 Composite Data Types
  • L-3 Classes in C++

    Chapter 2 : The Stack

  • L-4 Stacks: definition and examples
  • L-5 Implementations of the stack in C
  • L-6 Infix, Postfix, and Prefix

    Chapter 3 : Recursion

  • L-7 Recursive Algorithms
  • L-8 Writing recursive programs
  • L-9 Simulating recursion and efficiency

    Chapter 4 : Queues and Lists

  • L-10 The queue and its representation
  • L-11 Linked Lists
  • L-12 Lists in C
  • L-13 Priority Queues with linked lists
  • L-14 Simulation
  • L-15 Other List Structures

  • L-16 review of chapters 1 to 4
  • L-17 First midterm: questions and answers

    Chapter 5 : Trees

  • L-18 Binary Trees
  • L-19 Representations of Binary Trees
  • L-20 Representations and traversals
  • L-21 An example: Huffman trees
  • L-22 Lists represented by binary trees
  • L-23 Lists represented by binary trees (continued)
  • L-24 General Trees
  • L-25 Nested function calls represented by general trees
  • L-26 Game trees

    Chapter 6 : Sorting

  • L-27 General background
  • L-28 Exchange Sorts: bubble sort
  • L-29 Exchange Sorts: quick sort
  • L-30 Selection and Tree Sort
  • L-31 Heapsort
  • L-32 Insertion sorts
  • L-33 Merge and radix sort

  • L-34 Review of chapters 5 and 6
  • L-35 Second midterm

    Chapter 7 : Searching

  • L-36 Basic search techniques
  • L-37 Tree Searching
  • L-38 Tree Searching (continued)
  • L-39 Multiway Search Trees
  • L-40 B-Trees
  • L-41 Hashing

    Review

  • L-42 Review of chapters 1 to 4
  • L-43 Review of chapters 5 and 6
  • L-44 Review of chapter 7