- Department of Computer Science
- Vision, Mission, & Values
- Degrees & Programs
- Courses
- First Year Transfer Students
- Current Students
- Prospective Students
- Faculty & Staff
- Professors Emeritus
- Industrial Advisory Board
- Financial Assistance
- Employment Opportunities
- Donate
- Graduate Capstone
- Careers for Majors
- Resources
- Contact Us
- Help for Students
CS 3240 DATA STRUCTURES AND ALGORITHMS (4) 2005
Catalog Description:
Definition, design, implementation of abstract data structures, including stacks, queues, generalized lists; implementation of contiguous or linked structures. Structures include tables and hashing, trees, graphs. Algorithms for manipulating structures, searching, sorting; introduction to the analysis of these algorithms. Prerequisite: Math 2150, CS 2360, CS 2430
Abstract data types (ADT)
Lists:
insertion/deletion of nodes, ordered lists, header nodes cursor lists, cover if desired
Stacks: postfix expressions
Queues: circular queues
Trees:
general trees, binary trees, binary search trees recursive traversals (preorder, inorder, postorder) expression trees B-trees, cover if desired AVL trees, cover if desired breadth-first search using queues, cover if desired
Priority Queues: min/max heaps
Hashing:
open, closed, rehashing, linear and quadratic probing
Searching: binary search
Sorting:
bubblesort, heapsort, quicksort, mergesort
Graphs:
simple introduction, cover if time
Analysis: simple analysis of average and worst-case Big-Oh
Implementation Issues:
- array-based and pointer-based structures
- recursion, pointers, debugging, memory management, (advanced) object
- oriented techniques.
Texts:
- Weiss: Data Structures & Algorithm Analysis
- Horowitz, Sahni, Mehta: Fundamentals of Data Structures
- Aho, Hopcroft, Ullman: Data Structutes and Algorithms
- Thomas Standish, Data Structures, Algorithms & Software Principles in C
- Shaffer, Practical Intro. to Data Structures & Algor. Analysis C++,
- Prentice Hall
- Dale, C++ Plus Data Structures, Jones & Bartlett