数据结构与算法(B)

Note Taker: Cheng Guo

本课程是计算机基础系列中的数据结构与算法入门课,授课语言为 C 语言(作业可用 Python)。课程目标不只是掌握具体数据结构,更重要的是培养抽象思维:把现实问题抽象为已有的数据模型和算法框架。

考核方式

项目 占比 说明
上机作业 20% 每周/每两周的编程作业
课堂测验 / 点名 10% 随堂进行
期末上机测验 30% 开卷,可提交自己之前写的代码;重点考察“该用哪种算法框架”
期末笔试 40% 闭卷,约 60–70% 为往年题
  • 期末笔试通常 5–7 题,做对 4 道以上分数才比较好看。
  • 上机考试需要手动敲代码,不能完全依赖 AI。
  • 找往年题对笔试很重要。

教学内容

  1. 绪论:数据结构三要素、复杂度分析、大 O 表示法
  2. 线性表:顺序表、链表(单链、双链、循环链)
  3. 栈和队列:受限线性表及其应用
  4. 字符串:模式匹配、KMP 算法
  5. 树:二叉树、BST、AVL、堆、Huffman
  6. 图:存储、遍历、最短路径、最小生成树、拓扑排序
  7. 检索与排序:内排序为主,外排序不考

课程结构

Lecture Notes

Homework & Practice

Review Materials

核心理念

数据结构 + 算法 = 程序

  • 数据结构:如何把收集的数据表示给计算机。
  • 算法:如何让计算机处理这些数据。
  • 程序语言:如何让计算机明白我们要做什么。

函数是你自己定义、自己实现的;而数据结构是约定俗成、可复用的模块。学好数据结构,就能把共性的东西抽离出来,避免因为 int 变成 float 就重写一遍代码。

本页为课程导航页,更多笔记可直接在左侧边栏查看。