Computer Science 261
Second Exam Review
Disclaimer: I have attempted to be comprehensive in the
following, but important items may have been omitted by mistake. If
you see such an omission, please let me know, but you are responsible
for all of the lecture material to date.
The second hour exam in CSci 261 will be given on Friday, Oct. 15,
and will cover Chapter 3 (analysis of algorithms) and Chapter 4
through the material on stacks (Tuesday's lecture). Some details:
- Analysis of algorithms:
- Be able to give both formal and informal definitions of "big
O", "Omega", and "theta". Be able also to say what this means, and
what we are trying to do.
- Be able to rank functions by the above definitions (problem in
textbook)
- Be able to determine asymptotoic behavior for simple code
segments (again, textbook exercise)
- Linked Lists
- Be comfortable with pointers and the referencing
(&) and dereferencing (*) operators. The exam may include
a "what if" code fragment. Be able to describe what an "l-value"
and an "r-value" is (textbook and lecture).
- Be able to write code to initialize an ordered linked list (as
in lecture), to list, insert in and delete from a linked list. Be
able to write code to destroy a linked list, copy a linked list,
and (think about) reversing a linked list (think recursion).
- Stacks
- Be able to define the Stack ADT in terms of basic
operations and show how a stack can be implemented either as an
array or as a linked list.
- Be able to write the Push and Pop routines for a stack
implemented as an array.
- Be able to say what a stack frame is, and show how it
is used in subroutine and function calls (and particularly in
recursion)