Overview
This week, we’ll cover in more detail some features of C++ that we presented in our earlier introduction to C++. This includes:
- using our node class to create our own implementation of a stack,
- learning about queues, and
- learning the basics of complexity, including asymptotic (“big O”) notation.
If you haven’t completed last week’s material and taken Quiz 02, please do so before proceeding. Have fun!
If there’s a discrepancy between any dates, grade weights, or policies between what’s stated in videos and the syllabus, the syllabus prevails.
Learning Objectives
By the end of this module, you will be able to:
- read and understand code for our node and stack classes,
- distinguish between varying degrees of complexity,
- perform complexity analysis on simple and nested loops, and
- read and understand asymptotic (“big O”) notation.
To achieve this module’s objectives, complete the following:
Read: Essential Algorithms Chapter 1, for more on complexity and big O notation; and Chapter 5, Stacks and Queues.
Read / view the following content and complete any comprehension checks:
- Memory: stack and heap
- What is a stack?
- Node class and stack class
- What is a queue?
- Introduction to complexity
- Asymptotic notation
- C++ supplement
Project #1
You should have started Project #1. Don’t delay! Information about the dataset you wish to use for Project 1 and all subsequent projects is due Wednesday 2023-09-13 11:59 PM ET.
Original author: Clayton Cafiero < [given name] DOT [surname] AT uvm DOT edu >
No generative AI was used in producing this material. This was written the old-fashioned way.
All materials copyright © 2020–2023, The University of Vermont. All rights reserved.