NCSC-3011 Data Structures and Algorithms (AD 310)

Note: The following provides a suggested course description, objectives, and an outline. These may be modified pending discussion with the Faculty Chairs, proposing faculty, and other curriculum reviewers.

Course Description: Fundamental data structures: arrays, lists, stacks, queues, trees (unbalanced and balanced), sets -- both general (skip lists, hashing, tries) and restricted (priority queues, disjoint sets), graphs; implementation and analysis of algorithms; introduction to elements of complexity.

Course Objectives: To introduce students to the abstract configurations in which data is stored in a computer and to describe the algorithms used to search, sort, and manipulate this data.

Course Outline by Topical Areas:

  • Introduction
  • Abstract data types
  • Linear data structures: Lists, stacks, queues, and arrays
  • Tree-based structures: trees in general, binary search trees, AVL trees, B-Trees
  • Sets: skip lists, hashing, hash tables, priority queues, disjoint sets
  • Algorithms analysis
  • Sorting algorithms