悉尼大学COMP9123课程旨在教授学生一些强有力的思想,这些思想对于利用更有效的方式解决算法问题至关重要。特别是,学生将学习数据集合如何支持高效访问,例如,字典或地图如何允许基于键的查找,而不会随着集合大小的增长而线性减慢。课程介绍了列表、堆栈、队列、优先级队列、搜索树、哈希表和图表。同时还引入了渐近符号的概念,并用于描述各种数据访问操作和算法的成本。接下来是课程重点总结。
一、重点主题
1、关于算法的可扩展性和分析的定义和精度
2、抽象数据结构;堆栈和队列
3、树的概念和定义;基于树的递归;二叉树实现,通用树实现
4、二分搜索法树;平衡二叉查找树(AVL树)
5、简单的列表映射实现(排序和未排序);优先级队列、树堆和数组堆,使用优先级队列排序
6、散列法;图形表示;图形遍历
7、最短路径算法;最小重量生成树算法
8、贪婪方法;分治法;随机化算法
二、学习目标
1、熟练运用口头、书面和图表的形式组织、展示和讨论专业观点和问题。充分考虑到形式和受众的要求,使用各种专业交流工具和形式,向专业和非专业受众流畅地介绍工程/IT概念和问题。
2、设计某个问题的算法解决方案,编码、分析其复杂性,并评估其对环境的适用性。
3、编写对数据结构递归执行操作的代码。
4、对给定的设计任务应用基本的算法技术(例如,分治法、贪心法)。
5、使用big-Oh符号表示成本函数的渐近增长。
6、了解常用的数据结构,如列表、堆栈、队列、优先级队列、搜索树、哈希表和图表。这涵盖了信息在每个结构中的表示方式,操纵结构的算法,以及操作的渐近复杂性分析。
7、理解与数据结构相关的基本算法,例如排序算法、树遍历算法和图遍历算法。
8、使用数学方法评估算法的性能。
悉尼大学COMP9123课程共有4次Assignment,10次(每周1次)选择题测验,以及期末考试。希望上述内容能够帮助同学做好课程学习规划。