Fundamentals of Data Structures
Table of Contents#
- Ch.02 Algorithm Analysis
- Ch.03 List
- Ch.04 Trees
- Ch.05 Priority Queues (Heaps)
- Ch.06 Sorting
- Ch.07 Hashing
- Ch.08 Disjoint Set
- Ch.09 Graph Algorithms
- Cheat Sheet
Info#
Fundamentals of Data Structures
- 代码:CS1018F (211C0020)
- 学分:2.5
- 学期:2024 春夏
- 教师:陈超超
- 教材:Data Structures and Algorithm Analysis in C, 2nd Edition
Grading Policy
- Maximum 60
- Lecture Grade 35
- Homework 10
- Quizzes 10 不定时测试,课前或课后,共 2~3 次,每次 10 分钟共 10 分
- Mid-Term Exam 15 如果期末成绩更高,可以用期末分数覆盖
- Laboratory Grade 25/30 独立完成,3 次取平均值
- normal 25
- hard 30 在钻石赛中取得前 30% 可以选择
- Bonus 4 2 次,会在 pta 上放出
- Final 40
Peer Review Requirements
Rubric items: 6
Item 1: 6 points
The cover page must be presented with the title and the date of completion (+2 pts.). A complete problem description must be given in Chapter 1 (+4 pts.). Deduct points if:
- the cover page is not complete (-1)
- the introduction is a simple copy + paste of the assignment statement (-3)
- the introduction is not very clear -- in this chapter one is supposed to make it clear WHAT is to be done, besides why one is doing it (-1 ~ -2)
- others - please specify in the final comments.
Item 2: 12 points
Chapter 2 is supposed to contain the descriptions (pseudo-code preferred) of all the key algorithms involved (+3 pts. for the data structures; +7 pts. for the algorithms), plus a sketch of the main program (+2 pts.). Deduct points if:
- the algorithm specification is not complete – the data structure description is missing (-2)
- the algorithm specification is not complete –the key algorithm is missing (-3 ~ -7)
- not making one's algorithm easier to understand than a simple program (-2)
- only a program + comments, which is not acceptable (-4)
- others - please specify in the final comments.
Item 3: 2 points
The overall style of documentation is supposed to be neat and clear. Deduct (at most 2) points if:
- the document looks messy - some of the data in the charts and tables are missing (-1)
- the hand-in is not zipped with proper folders (-1)
- the hand-in is not complete - some files are missing (-1)
- others - please specify in the final comments.
Item 4: 20 points
A complete table of test cases with testing purposes must be given in Chapter 3. A minimum of 3 test cases must be given (+10 pts.). Besides at least one comprehensive test (+6 pts.), the cases with the smallest or the largest sizes, and some extreme cases must be covered (+4 pts.). Deduct points if:
- the testing results contain some test cases, however with no specification on their purposes (-3)
- the testing results contain some test cases, but there are still bugs missed (-1 ~ -10)
- the testing results contain too few cases and hence is too simple to be considered as being complete (-4 ~ -10)
- others - please specify in the final comments.
Item 5: 10 points
Analysis of both the time (+5 pts.) and space (+5 pts.) complexities of the algorithms are supposed to be given in Chapter 4. Bonus point for discussing more than just one algorithm (+2 pts.). Deduct points if:
- analysis of the complexities of time and/or space is missing -- one must show how one has reached the conclusions, instead of simply listing them (-4)
- others - please specify in the final comments.
Item 6: 50 points
For the programming work, deduct points if:
- the programs are not working properly (-1 ~ -20)
- the programs are not well-commented (-50)
- the programming style is too messy to be judged (-1 ~ -5)
- others - please specify in the final comments.
Tips#
这份笔记非常完善
- 本笔记涵盖了所有课程内容,主要来源于 slides、老师的讲解和个人理解
- 每章节笔记末尾有 pta 题目的订正/思路,由于课程要求,没有任何源码
- 一份可能没什么用的 Cheat Sheet