This website is preserved for historical and scholarly reference and is no longer actively maintained.
READING ASSIGNMENTS
CPSC 241
Textbooks:
C++ Primer (Third Edition)
by Stanley B. Lippman and Josee Lajoie
Addison Wesley
ISBN 0-201-82470-1
Data Structures and Algorithm Analysis in C++
by Mark Allen Weiss
Addison Wesley
ISBN 0-8053-5443-3
Week 1:
Chapters 1 and 2 of C++ Primer form a self-contained introduction and overview to the entire C++ language. The remainder of C++ Primer presents the details of the C++ language.
For January 12:
Read Chapter 1 and read in Chapter 2 of C++ Primer to bottom of page 41. Consider how to solve problems encountered in the reading.
For January 14:
Finish reading Chapter 2 (through page 72) in C++ Primer. Attempt to work some problems in the reading.
Week 2:
For January 19: In C++ Primer, read pp 73-93 (to Section 3.4). As always, consider some of the problems in the chapter.
For January 21: Finish reading Chapter 3 (through page 139) of C++ Primer.
Week 3 (Jan. 25 - Jan 29):
All reading assignments in Weiss will refer to the 2nd Edition.
Read Chapter 3 of Weiss (pp. 69 - 116). In this chapter Weiss presents a C++ approach to problems that you have previously studied. This chapter should refresh your memory with respect to lists, stacks, and queues. After reading this chapter, you should be able to implement these data structures in C++.
If you have not done so, read pages 11 - 37 of the 2nd Edition of Weiss, Data Structures & Algorithm Analysis in C++. The presentation of the material in this section is excellent. Reading the material should reinforce many ideas already covered and reinforce C++ concepts you have encountered for the first time. Weiss also explains how to deal with problems you may encounter with compilers.
At the end of the week, you should refresh your memmory of trees by reading in Chapter 4 pages 121 - 143 and pages 163 - 164. We will omit AVL Trees, Splay Trees and B-Trees.
Week 4 (Feb. 1 - Feb. 5):
Read in Chapter 1 pages 1 - 11. (You should now have read all of Chapter 1.)
If you have not completed your reading in Chapter 4, you should do so.
Work the following problems at the end of Chapter 1: - 1.5
- 1.6
- 1.11 (a and b)
- 1.12 (a and b)
Read Chapter 2 in Weiss and work the following problems:
- 2.1 (you may omit N log log N, Nlog^2 N, and N log (N^2))
- 2.2
- 2.6 a
The suggested problems will not be collected, but you need to know how to work them. Additional problems may be suggested.
Week 6 (Feb. 15 - 19):
Read Chapter 5, Hashing. For Tuesday work a and b of Problem 5.1 (page 204).
For Thursday work c and d of Problem 5.1 and finish reading Chapter 5. Omit Section 5.6 Extendible Hashing on pages 200-203.
Week 7 (Feb. 22 - 26):
Read Chapter 6, Priority Queues (Heaps). Omit section 6.6 Leftist Heaps and Section 6.7 Skew Heaps. We will briefly examine Binomial Queues. For Tuesday work problem 6.2 on page 246, (a) and (b).
Week 8 (March 1 - 5):
Read Chapter 8, the Disjoint Set ADT. Work problem 8.1 on pages 322 - 323.