跳到主要内容

CMU 15-121 数据结构简介

课程名称: Introduction to Data Structures
课程官网地址:CMU 15-121课程官网
先修课程: 15-112 编程和计算机科学基础
重要程度: ※※※※※
课程评点: 本课的编程语言是Java,不过并没有开放相关的视频,建议去学同样是用Java学数据结构和算法的CS61b和cos226。

课程说明

15-121 是面向具有先前编程经验(函数、循环和数组,不一定是 Java)的学生的程序设计和分析过程的延续。该课程强化了 Java 中面向对象的编程技术,涵盖了数据聚合、数据结构(例如,链表、堆栈、队列、树和图),以及对在这些数据结构上运行的算法的分析的介绍。

  • 使用 Java IDE用 Java 编写中等规模(几百行)的程序来实现对指定问题的解决方案
  • 在 Java 中进一步发展和磨练适当的惯用编程风格
  • 将解决方案分解为适当的类,并使用适当的字段和方法实现这些类
  • 写一个实现指定接口的类
  • 选择并实施递归或迭代方法来适当地解决问题
  • 理解并实现以下数据结构:动态数组、链表、二叉搜索树、堆、哈希表
  • 能够实现(或选择合适的Java实现)以下抽象数据类型:list(array、ArrayList、LinkedList)、stack、queue、priority queue、tree、set(HashSet、TreeSet)、map(HashMap、TreeMap)或图(邻接表/矩阵)来解决指定的问题
  • 分析算法或方法的 Big O 运行时间

本课程将涵盖以下主题:Java编程语言简介、面向对象编程、数组和数组列表、效率和 O 符号、链表、递归、Java 接口和迭代器、堆栈和队列、搜索和排序、树(包括二叉搜索树)、优先队列和堆、集合、映射和散列、图和图算法