Bev Facey Community High

CSE 3330: Dynamic Data Structures 2

Students enhance their knowledge of abstract data types that utilize dynamic data structures by expanding their repertoire to include stacks and queues. Students also study the unordered data structures, set and map, and learn how to incorporate them into abstract data types. As part of this work, they learn how to use linked lists to create stacks and queues.

Theory

Analyze and represent the nature, structure and utility of stacks, queues, sets and/or maps

  1. explain and represent the nature and mechanics of stacks, queues, sets and/or maps including:
    • the role of stacks, queues, sets and/or maps as containers for abstract data types (ADTs)
    • the abstract data type and data manipulation each structure is best suited to
    • the logical structure of stacks, queues, sets and/or maps
  2. explain and represent the standard operators associated with stacks, queues, sets and/or maps including:
    • create the data structure
    • copy the data structure; e.g., cloning, deep copy
    • push, pop and peek for stacks
    • enqueue and dequeue for queues
    • link keys and values for maps
    • search, insert, remove and modify data elements in sets and/or maps
    • determine equality between sets
    • determine union, intersection, difference and symmetric difference
    • delete the data structure
  3. explain the advantages and disadvantages of using stacks, queues, sets and/or maps

Practical

Create and/or modify algorithms using stacks, queues, sets and/or maps to solve problems

Create and/or modify programs based on appropriate algorithms using stacks, queues, sets and/or maps

Compare program operation and outcomes with the intent of the algorithm and modify, as required

Competencies and Skills

You will also be evaluated on your basic competencies such as your ability to: