UniMate AI

COMP9024

数据结构与算法

6 学分难度

课程定位 COMP9024 是 UNSW 计算机硕士专业(MIT)最具‘算法含金量’的灵魂课。它解决了开发者从‘写代码’到‘写高效代码’的本质跨越:当数据量从一千增长到一亿时,为什么有的程序依然秒出解,而有的则会永久卡死?它是通往顶级互联网大厂(如 Google, Meta)后端开发与算法岗位的必经门票。它将抽象的数据模型(栈、树、图)与严密的算法复杂度分析深度整合,是培养‘具备底层优化意识的开发者’的必修课。 技术栈与学习内容 课程以 C 语言为核心(部分学期可能引入 Python 对比)。学习内容涵盖:算法时间与空间复杂度分析 (Big-O)、动态内存管理(C 语言指针地狱的洗礼)、基础数据结构(链表、栈、队列)、进阶数据结构(平衡二叉树 AVL、红黑树、哈希表、堆)、以及最重要的‘图论算法’(BFS, DFS, Dijkstra, Prim, Kruskal)。此外,课程深入探讨了动态规划 (DP) 与贪心算法。课程强调‘内存效率与执行速度的极致压榨’。 课程结构 10 周理论高频产出与极具挑战的编程 Lab 结合。评估体系以‘硬核’著称:包含每周的算法实现 Lab、两个要求‘零内存泄漏’且满足高性能要求的 Major Assignment(通常涉及开发一个复杂的搜索引擎内核或社交网络关系分析器)、以及一场强调算法推导、伪代码设计与复杂复杂度证明的期末综合大考。该课极其强调‘手算逻辑与机器实现的高度一致’。 适合人群 计算机硕士转专业新生、或打算夯实算法底层的开发者。必须具备基本的 C 语言指针概念。如果你想在面试中谈论‘如何利用 AVL 树保持查询 O(log n)’、或者渴望在未来的大数据引擎中建立核心主权,这门课是你的神功。建议每周投入 25-30 小时进行代码重构与内存调试。

Course decision

选课先看

先看考核重心、截止节奏和入门要求,再决定这门课是否适合你的学期安排。

考核总权重

100%

3 项考核

最高单项

50%

Final Professional Examination

期末考试

以官方 outline 为准

Hurdle

1 项

需要单独满足

Deadline map

考核时间线

按截止周排列作业节点;持续考核会保留在下方完整考核结构中。

Week 6

Algorithm Skill Tests

20%

涵盖复杂度推演与数据结构旋转手算的限时测试,强调数学严密性。

Week 10

Programming Assignments

30%

两个高难度的 C 项目,要求处理大规模数据输入并保证极高性能与零内存泄漏。

Week 11

Final Professional Examination

50%

全面考察图论证明、DP 建模、内存模型判定及伪代码设计能力的深度笔试。

Syllabus

每周大纲

默认只展示每周独有的知识重点;节奏、考核、Tutorial 和避坑信息按需展开。

  1. 1

    算法分析基础与 C 内存模型

    Big-O 定义,堆 (Heap) 与栈 (Stack) 内存分配,指针、数组与结构体实战。

  2. 2

    线性数据结构:链表与栈

    单向/双向链表,递归在链表中的应用,表达式求值算法,处理缓冲区溢出风险。

  3. 3

    树与分治算法

    二叉搜索树 (BST),树的遍历(前/中/后序),递归深度分析,解决查找退化问题。

  4. 4

    平衡树:AVL 与红黑树

    单旋转与双旋转逻辑,自平衡证明,B 树初步,在大规模索引中的应用。

  5. 5

    哈希表与堆 (Heaps)

    冲突解决策略(开放定址、链地址),堆排序原理,优先队列设计与应用。

  6. 6

    灵活性周 (Flex Week)

    复习 C 指针逻辑,冲刺第一个大型 Assignment(如搜索树内核),练习 Valgrind 调试。

  7. 7

    图论基础:遍历与连通性

    邻接矩阵 vs 邻接表,BFS 与 DFS 深度解析,拓扑排序,检测环路逻辑。

  8. 8

    最短路径与生成树

    Dijkstra 算法证明,Bellman-Ford 应对负权重,Prim 与 Kruskal 贪心策略对比。

  9. 9

    动态规划 (DP) 与贪心

    最优子结构与重叠子问题,背包问题,最长公共子序列,DP 的空间优化技巧。

  10. 10

    算法前沿与全课总结

    P vs NP 问题初步,计算几何简介,全学期算法图谱大复盘;迎接 Final。

Assessment

考核结构

Programming Assignments

两个高难度的 C 项目,要求处理大规模数据输入并保证极高性能与零内存泄漏。

30%

Week 10

Algorithm Skill Tests

涵盖复杂度推演与数据结构旋转手算的限时测试,强调数学严密性。

20%

Week 6

Final Professional ExaminationHurdle

全面考察图论证明、DP 建模、内存模型判定及伪代码设计能力的深度笔试。

50%

Week 11

From Seniors

学长留下的

基础信息谁都查得到,真正值钱的是过来人的经验。

学姐说

比你早一年的学长留下的真实经验 —— ChatGPT 给不了。

这门课还没有学长经验,你可以是第一个 —— 注册后在课内分享。

往年考点 / 踩坑

这门课暂无往年考点记录。

毕业生去向(整体)

下面是匠人学院毕业生整体去过的公司分布(来自脱敏校友证言)。这是全平台的总体去向,不代表选这门课的人一定去这些公司。

统计自 317 份脱敏校友证言

Deloitte

6 位校友

岗位:Graduate Program · Graduate Consulting · Platform Engineer · Web developer · Platform engineer

Zerologix

4 位校友

岗位:Frontend Dev · junior frontend developer · Front-end Developer · Full Stack Developer

Servian

4 位校友

岗位:Full-stack Developer · Data Engineer · Consultant

关于这块数据,我们说实话

雇主墙来自脱敏毕业生证言(testimonials)的整体分布,无法关联到具体学员或其所选课程;仅作为毕业生去向的总体社会证明展示。

我们没有"某位学长选了这门课、后来进了哪家公司"这种可查询的个人去向档案 —— 校友证言是脱敏的,无法关联到具体的人或他选过的课。所以这里只给整体分布,不给个人路径,不编。