Anda di halaman 1dari 2

CS 3345: Data Structures and Introduction to Algorithmic Analysis

Summer 2006, Monday & Wednesday 10:00am - 12:45pm, ECSS 2.312

Instructor: Ovidiu Daescu, Office: ECSS 4.224, Office hours: Friday 12-2pm, Phone: 972-883-4196, E-
mail: daescu@utdallas.edu

TA: , Office ECSS , E-mail: @utdallas.edu, Office hours:

Lectures
l Course Presentations and Resources
l Math review
l Algorithm Analysis
l Recursion
l Java review
l Stacks
l Queues
l Linked Lists
l Vectors
l Lists
l Sequences
l Trees
l Priority Queues
l Heaps
l Maps
l Hash Tables
l Dictionaries
l Binary Search Trees
l AVL Trees
l Merge Sort
l Quick Sort
l Divide And Conquer
l Sets: Union Find
l Graphs
l Depth-First Search
l Breath-First Search
l Directed Graphs

Homeworks

Catalog Statement: Data Structures and Introduction to Algorithmic Analysis (3 semester hours) Analysis of
algorithms including time complexity and Big -O notation. Analysis of stacks, queues, and trees, including B-
trees. Heaps, hashing, and advanced sorting techniques. Disjoint sets and graphs. Course emphasizes design
and implementation. Prerequisites: CS 2336 and one of CS 3305 or SE 2370. (Same as SE 3345) (3-0) S

Textbook: Goodrich and Tamassia, Data Structures and Algorithms in JAVA, Forth edition (Third edition is also
good), Wiley. You can also use Data Structures and Algorithm Analysis in C++ by same authors.

Contents and Syllabus: The course will cover the material in chapters 3-13 of the text book. The following is
an approximate timetable.

Class 1: Course introduction and overview. Mathematical review.

Class 2: Recurrence relations. Proof techniques: proof by induction and contradiction. Examples. Algorithm
analysis: Big-Oh, Omega and Theta notations.

Class 3,4: Lists, Stacks, Queues. Applications and examples.

Class 5,6: Trees. Tree traversals, binary trees, AVL trees. Applications and examples.

Class 7: Priority Queues (Heaps). Discuss different types of heaps (binary heaps, d-heaps, etc.). Applications
and examples.

Class 8: Mid-term exam.

Class 9: Hashing. Methods of implementing hash tables and applications.

Class 10,11: Sorting. Basic sorting techniques.

Class 12,13,14: Graph Algorithms. Definitions and representations. Basic algorithms. Applications.

Examinations and Grading: There will be a midterm examination during the class, a final examination, and
five homeworks. Some homeworks will involve programming (in JAVA). To get credit for the programming
homeworks, the program and all the relevant documentation should be submitted to the TA. Access to the
source code, along with a README file, and a makefile should also be provided to the TA for grading purposes.
In some cases, students may be required to demonstrate execution of their programs to the teaching assistant.
The non-programming homeworks, typed (preferable) or in legible handwritten form, will be handed on due
date, at the beginning of the class.

Honor code: All work should be your own. You may discuss the general approach to solving homework
problems with others, but you must develop the solutions yourself. Examinations are closed books and closed
notes. Copying during examinations and on homeworks is a violation of the University's honor code. Students
suspected of academic dishonesty are subject to disciplinary proceedings as per university policies. The
instructor reserves the right to ask students to explain how they reached their solution. If they are unable to
provide satisfactory explanations, they may lose points even if the answers are correct.

Point Distribution: Homeworks 30%, Midterm 30%, Final 40%.

Late Submission and Attendance Policy: All homeworks should be returned to the instructor at the
beginning of the class on the due date, in order to be considered for credit. Late returns are not accepted.
Exceptions can be made for valid medical reasons. If a student is unable to take an examination on the
scheduled date, he/she should inform the instructor well in advance. A makeup examination will be scheduled
only if the student has a valid medical excuse.

Collaboration and Policy on Scholastic Dishonesty,

Anda mungkin juga menyukai