Week 1Review of fundamental C++ programming techniques, Abstract data types
先复习 fundamental C++ 技巧,再进入 abstract data types,为后续数据结构与算法设计打基础。(数据来源:University of Adelaide 2025 Course Outline)
C++abstract data typesreviewfundamentals
💡 学习提示
• 帮我复习 COMP SCI 7103 Week 1 需要掌握的 C++ 基础
• 解释 abstract data types 在这门课里的作用
Week 2Class hierarchies
围绕类层次结构理解对象间关系,帮助后续用面向对象方式组织数据结构实现。(数据来源:University of Adelaide 2025 Course Outline)
class hierarchiesOOPdesigninheritance preparation
💡 学习提示
• 给我一个 class hierarchy 的 C++ 示例并解释设计思路
• Week 2 的 class hierarchies 会怎样影响数据结构实现?
Week 3Inheritance, polymorphism, friends, and overloading
系统梳理 inheritance、polymorphism、friend 与 overloading,并把这些 C++ 机制落到可维护的数据结构代码中。(数据来源:University of Adelaide 2025 Course Outline)
inheritancepolymorphismfriendsoverloading
💡 学习提示
• 解释 inheritance 和 polymorphism 在 C++ 中的常见考法
• 帮我整理 friends 与 operator overloading 的易错点
Week 4Recursion
从递归思维切入算法表达,理解 base case、recursive step 与调用栈开销,为树和分治算法做准备。(数据来源:University of Adelaide 2025 Course Outline)
recursioncall stackbase casedivide and conquer
💡 学习提示
• 帮我判断一个递归解法为什么会无限递归
• 给我 3 道适合练 recursion 的题并附思路
Week 5Introduction to complexity analysis
学习 complexity analysis 的基本方法,开始用时间/空间复杂度评估不同算法和数据结构选择。(数据来源:University of Adelaide 2025 Course Outline)
complexity analysisBig Otime complexityspace complexity
💡 学习提示
• COMP SCI 7103 Week 5 应该怎样快速做 complexity analysis?
• 帮我比较几种常见循环结构的 Big O
Week 6Searching Algorithms
聚焦 searching algorithms 的正确性与效率,对比不同查找策略的适用场景与复杂度表现。(数据来源:University of Adelaide 2025 Course Outline)
searching algorithmsbinary searchcorrectnessefficiency
💡 学习提示
• 帮我比较线性查找和二分查找的适用场景
• 解释 searching algorithms 的 correctness 要怎么证明
Week 7Sorting Algorithms
进入排序算法,对比比较类排序的核心思想、复杂度与实现细节,为 practical assignment 与 written exam 做准备。(数据来源:University of Adelaide 2025 Course Outline)
sorting algorithmsmerge sortquick sortstability
💡 学习提示
• 帮我比较 merge sort、quick sort 和 insertion sort
• Week 7 排序算法常见的考试问法有哪些?
Week 8Linked lists and stacks
把线性结构从数组扩展到 linked lists 与 stacks,理解节点操作、内存链接和抽象接口设计。(数据来源:University of Adelaide 2025 Course Outline)
linked listsstacksnodesmemory links
💡 学习提示
• 帮我手写 linked list 和 stack 的核心操作伪代码
• 解释数组和 linked list 在插入删除上的差异
Week 9Queues, other linked list based data structures
继续拓展 linked list based structures,掌握 queues 及其变体在任务调度和数据流场景中的作用。(数据来源:University of Adelaide 2025 Course Outline)
queuesFIFOlinked list structuresoperations
💡 学习提示
• 用一个现实场景解释 queue 的 FIFO 逻辑
• 帮我总结 Week 9 链表结构的核心 API
Week 10Heaps
学习 heaps 的结构性质与优先队列应用,理解其与排序、搜索问题之间的连接。(数据来源:University of Adelaide 2025 Course Outline)
heapspriority queueheapifytree representation
💡 学习提示
• 解释 heaps 为什么适合实现 priority queue
• 帮我整理 heap insert 和 delete 的步骤
Week 11Trees
进入树结构与层次化组织方式,掌握遍历、递归定义与常见树操作,为算法题的结构化解法提供支撑。(数据来源:University of Adelaide 2025 Course Outline)
treestraversalhierarchical datarecursion
💡 学习提示
• 帮我总结 preorder、inorder、postorder traversal 的区别
• Week 11 的 trees 和前面的 recursion 有什么联系?
Week 12Problem solving, algorithmic strategies
在最后一周回到 problem solving 与 algorithmic strategies,整合整学期的数据结构、复杂度与设计思维。(数据来源:University of Adelaide 2025 Course Outline)
problem solvingalgorithmic strategiesintegrationexam review
💡 学习提示
• 帮我做 COMP SCI 7103 期末前的 algorithmic strategies 总复习
• 怎么把这门课的数据结构知识串成统一解题框架?