06191170: Data Structure (Spring-Summer 2010-2011)

Department of Mathematics

Zhejiang University


Announcements    General     Course Goals     Topics     Texts     Grading     

Syllabus      Assignments     Requirements on Assignments      Professional Conduct     Miscellaneous


Announcements


General
 

Times

Wednesday class 3-5 (9:50-12:15)
上机:紫金港信息大楼一楼1号机房86-135号机器(时间周三上午1-2节)

 
Room

Zijingang Campus, East Building 1A-216

 
Instructor

Ligang Liu ( ligangliu@zju.edu.cn )

 
TA

Xiaoguang Han (hanxiaoguangcagd@gmail.com)

 
Credit

3

 
Prerequisite

C/C++

 
 

 

 
Webpage

http://www.math.zju.edu.cn/ligangliu/Courses/DataStructure_2010-2011/default.htm

 

 


Course Goals

The goals of this course are to extend and deepen the student's knowledge and understanding of algorithms and data structures and the associated design and analysis techniques. It examines previously studied algorithms and data structures more rigorously and introduces the student to "new" algorithms and data structures. It focuses the student's attention on the design of program structures that are correct, efficient in both time and space utilization, and defined in terms of appropriate abstractions.


Topics
 

This course provides a comprehensive introduction to data structures and algorithms, including their design, analysis, and implementation. Topics include:
   
·Analysis tools: running time, pseudo-code, algorithm analysis, asymptotic notations
   
·Stacks, queues, linked lists, deques
   
·Vectors, lists, sequences
   
·Trees: basic algorithms on trees, binary trees, representing trees
   
·Priority queues, heaps
   
·Dictionaries: log files, hash tables, ordered dictionary ADT, look-up tables, skip lists
   
·Search trees: binary search trees, AVL trees, multi-way search trees, (2,4) trees, red-black trees
   
·Sorting, sets, and selection
   
·Graphs: traversal, directed graphs, weighted graphs, minimum spanning trees


Texts
 

Required textbook:
           
C/C++数据结构,王立柱著,清华大学出版社, 3版 (上下册).

Optional textbook:
            Data Structures, Algorithms, and Applications in C++, Sartaj Sahni, McGraw-Hill. (数据结构算法与应用——C++语言描述,机械工业出版社.)
            Data Abstraction and Problem Solving with C++: Walls and Mirrors by Frank Carrano, fourth edition, Addison Wesley.
            Any good introductory book on C++ programming.

Readings:
            Various journal, conference, or WWW materials as appropriate.
 


Grading

Credit toward the semester grade will be allocated to each of the components as indicated in the following table.

Assignments 30%
Projects  40%
Final Exam 30%

Note: Final examination will be in-class, closed-book. More information will be provided prior to it.


Syllabus

Note: Here you can view or download the notes that we use in class. DO NOT depend solely on these notes as many details are missing. You should read the textbook and take notes in class.

Applets


Assignments

Homework

Projects (Project requirement)

Note: Please zip your submission stuffs of the assignment into one single file either using WinZip or WinRAR. Name the file name as "ID_Name_Homework1.zip" or "ID_Name_Project1" where ID is your unique ID number in the class. For Example, my submission file name might be "007_张三_Homework1.zip".


Requirements on Assignments
 

Requirements

Assignment Submission

What constitutes Creativity ?

Creativity is any substantial improvement beyond the basic solution - it can be applied to any part of the project. For example, the following are relevant in most cases :


Professional Conduct

As a student in our class, you are expected to conduct yourself in a professional manner.

Limited Collaboration Policy. Unless otherwise indicated, any homework assignment or programming exercise given in this class will be an individual assignment. The work you submit is to reflect the knowledge, understanding, and skill that you have attained as an individual. However, the instructor does want to encourage the development of a community of scholars who are actively engaged in discussion of the ideas related to this course. With this in mind, you are allowed to discuss solutions of the homework and programming problems with other students if done so according to the following guidelines:


Miscellaneous

Professionals

Online C++ resources

Useful coding related sites on the internet


Send any comments or suggestions to Prof. Dr. Ligang Liu, ligangliu@zju.edu.cn
Copyright © 2011, Ligang Liu