|
Syllabus for CSE326: Data Structures
|
|
CSE326: Data Structures
Credits
4
Catalog description
Data types, abstract data types, and data structures. Efficiency of algorithms. Sequential and
linked implementation of lists. Binary tree representations and traversals. Searching:
dictionaries, priority queues, hashing. Directed graphs, depth-first algorithms. Garbage
collection. Dynamic storage allocation. Internal and external sorting. No credit to students who
have completed CSE 373, CSE 374, or E E 374.
Prerequisites
CSE 321.
Proposed catalog description
Abstract data types and their implementations as data structures. Efficient algorithms employing
these data structures, together with their asymptotic analyses. Dictionaries: balanced search
trees and hashing. Priority queues: heaps. Disjoint sets with union and find. Graph algorithms:
shortest path, minimum spanning tree, topological sort, depth-first and breadth-first search.
Sorting. No credit to students who have completed CSE 373, CSE 374, or EE 374.
Textbook(s) and/or other required material
Data Structures and Algorithm Analysis in Java 2nd Ed., Mark Allen Weiss, Addison Wesley: 2007,
ISBN: 0-321-37013-9
Course objectives
The objective of this class is to study the fundamental abstract data types and their
implementations as data structures, together with efficient algorithms employing these data
structures and their asymptotic analyses.
Topics covered
1. Introduction: Data Structures, Abstraction, Recursion
2. Algorithm Analysis
3. Dictionary Abstract Data Type
4. Search Trees: Binary, AVL, 2-3, Splay, B-trees
5. Hashing
6. Priority Queues: Heaps
7. Disjoint Sets: Weighted Union and Find with Compression
8. Sorting: Heapsort, Mergesort, Quicksort, Decision Trees
9. Graph Algorithms and Graph Representations
Course structure
3 hours per week of lecture
1 hour per week of discussion section
ABET Outcomes Assessed
(m) knowledge of discrete mathematics
Additional ABET Outcomes Covered
(a) an ability to apply knowledge of mathematics, science, and engineering
(e) an ability to identify, formulate, and solve computer engineering problems
(k) an ability to use the techniques, skills, and modern computer engineering tools necessary for engineering practice
Last edited by
rea
Last modified
06:37pm 10 Feb 2007
|
 |
Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA 98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to webmaint]
|