University of Nevada Las Vegas
Howard R. Hughes College of Engineering
School of Computer Science
My Home Page

Computer Science 269
Introduction to Data Structures
Spring 2003
Assignments

Revised May 8, 2003

United States Government Dictionary of Algorithms and Data Structures

Tuesday, January 21, 2003
Every student who enrolls in the course is expected to be familiar with the material of Chapter 2 of your textook, pages 21 - 48.
We will discuss the Programming Assignment which is due next week.
If time permits, we will begin the discussion of algorithm analysis. This subject is discussed in Chapter 3 of your textbook, pages 49 - 83.
Thursday, January 23, 2003
We will continue our discussion of algorithm analysis.
We will spend a small portion of the time in a discussion of the programming assignment due next week.
I believe I have resolved the programming problems discussed in class. There are subtle differences among the C++ compilers on the various machines. I have changed the file "main.cpp" to give main type int, as the compiler demands.
The machine you must use is "student.egr.unlv.edu" I will use the same machine, so that we will not have these problems again.
Of course, you can use any machine while you're writing your program, but you must test it to make sure it runs on "student".
Run your program by using the command g++
Tuesday, January 28, 2003
First part of programming assignment due at midnight.
We will spend some time discussing the programming assignment in class, but you should be mostly done with it by now.
Email your completed files, together or separately, to Doina Bein, siona@cs.unlv.edu, from your engineering account, not from some other account, by midnight today.
We will continue the discussion of algorithm analysis.
I will not read email any later than approximately 7:30 pm tonight.
Thursday, January 30, 2003
Second part of programming assignment due.
I have added comments to some of my files, comments which explain some of the operators and also what the algorithm does. Take a look.
Today we will discuss bubblesort and selection sort. Read pages 221-226 of your textbook.
All of my files related to homework 1 are now publicly readable.
Tuesday, February 4, 2003
Today we will discuss insertion sort and mergesort. Read pages 221-226 and pages 235-238 of your textbook.
If time permits, we will prove that there can be no comparison-based sorting algorithm that takes O(n) time. In fact, we can prove the number of comparisons needed for any comparison-based sorting algorithm is at least log2(n!) in the worst case. Asymptotically, what is that? Read section 7.9 of your textbook, pages 249-252.
Thursday, February 6, 2003
Today we will review topics in elementary data structures, including lists, stack, and ueues.
Read chapter 4 of your textbook, pages 87-139.
This material was all covered in CSC 136, and should be familiar to you; thus we will review it quickly.
Tuesday, February 11, 2003
Assignment 3 is due at 8:30 AM today.
(There is no Assignment 2.)
Thursday, February 13, 2003
Assignment 4 is not due today. (The due date is postponed.)
Tuesday, February 18, 2003
Assignment 4 is due at midnight today.
If you have any questions whatsoever about this assignment, please feel fre to send me email. Be sure to write "CSC 269" in the subject field.
Thursday, February 20, 2003
Examination today. Study guide.
Tuesday, February 25, 2003
Today I will hand back the exams.
Today we will introduce the topic of searching. We will introduce some commonly used search structures, including ordered lists and binary search trees.
Thursday, February 27, 2003
Today we will introduce binary trees and binary search trees.
Tuesday, March 4, 2003
Today we will continue our discussion of binary trees and binary search trees. Be sure to read the first four sections of Chapter 5 of your textbook, pages 141-167.
We will also spend some time discussing the programming assignment.
Thursday, March 6, 2003
My program for hw4:
LinkList.cpp
LinkNode.cpp
main.cpp
Assignment 5 is due at midnight today.
Today we will discuss 2-3 trees and heaps.
Tuesday, March 11, 2003
Assignment 6 is due at 8:30 AM today.
Today we will go over heapsort in detail. In particular, you should be able to do Exercise 5.17 on page 188 after the lecture.
Thursday, March 13, 2003
Examination today. Study guide Ready now.
Tuesday, March 25, 2003
I will hand back the exam today.
Today we will begin discussing general trees. Read Chapter 6 of your textbook, pages 167 - 188, over the next week.
Thursday, March 27, 2003
Assignment 7 is due at 8:30 AM today.
We will continue our discussion of general trees. Read Chapter 6 of your textbook, pages 167 - 188, over the next week.
Tuesday, April 1, 2003
Assignment 7 is due at 8:30 AM today.
We will continue our discussion of trees.
Thursday, April 3, 2003
Today I will explain quicksort. Read Section 7.4 of your textbook, pages 229 - 234. Quicksort provides an excellent example of the fact that you sometimes need to precisely define a loop invariant before writing the loop. (Expect this to appear on the examination.)
The next topic will be hashing. Read Section 9.4 of your textbook, pages 302 - 320. I will probably not be able to finish hashing today.
I will expect you to know what hashing is, and also at least three applications.
Tuesday, April 8, 2003
Assignment 8 is due at midnight Friday, April 11.
Thursday, April 10, 2003
Today we will
Tuesday, April 15, 2003
Examination today. Study guide.
Thursday, April 17, 2003
Today, we will discuss range queries. Click Here Also, look at Problem 4.3 on page 3 of Here.
Tuesday, April 22, 2003
Thursday, April 24, 2003
Today, we will discuss 2-3 trees, B-trees, and B+-trees.
In practice, B+-trees are the search structure of choice for many applications.
Tuesday, April 29, 2003
Today we will discuss arrays. Here are some terms: offset, row-major order, column-major order, sparse arrays.
Thursday, May 1, 2003
Today we will review the major sorting algorithms which I expect you to know for the final examination.
Tuesday, May 6, 2003
Today we will review the various implementations of the abstract data type search structure which I expect you to know for the final examination, and hint at some others.
If time permits, we will review the various implementations of the abstract data type priority queue which I expect you to know for the final examination.
Thursday, May 8, 2003
We will finish the discussion on priority queues by reviewing heaps. We will also discuss heapsort in detail.
By midnight tonight, email completed programming assignments, that you did not turn in before, to the graduate assistant. The final examination will include one or more questions drawn directly from those programming assignments.
Thursday, May 15, 2003
Final Examination, 8:00 to 10:00.
Study guide for the examination.