跳转到内容

数据结构 · 第〇章 引言(速览)

  • 程序 = 数据结构 + 算法(全章教师备注反复强调)。
  • 数据结构:计算机中存储、组织、管理数据的方式;定义数据元素之间的关系与可执行的操作;目的不只是存,而是高效地访问与修改(课件引用 Gemini 3.1 Pro 与 DeepSeek 3.2 两个定义)。
  • 图书馆类比映射:书 ≈ 数据元素;放书 / 取书 ≈ 数据的存储 / 访问操作(算法);书的字典序先后 ≈ 数据之间的关系(数据结构)。
  • 两个基本操作:放书(操作 1)与找书(操作 2);找书优先级更高(图书馆服务于读者)。
  • 三种方案:① 随便放(放书一次完成,找书最坏全部找一遍);② 分组放(先定类别再顺序找);③ 分组排序放(按字典序,可二分搜索)。
  • 二分搜索:每步取区间中点(本例向下取整)与目标比较、舍弃一半区间(演示:0–25 放 A–Z 找 P,12→M、19→T、15→P 三步命中)。
  • 核心结论:存放方式不同,放 / 找的复杂度截然不同;解决问题的方法效率与数据的组织方式紧密相关。
  • 效率:100 万条微博定位发言——数组逐条最坏 100 万次 vs 哈希表按键通常期望常数次找到入口;本例体现的是从 O(n)O(n) 到期望 O(1)O(1) 的显著提升。
  • 现实应用:微信表情包搜索用字典树;B 站推荐用图结构;王者碰撞检测用四叉树——熟悉的应用本质是数据结构的组合。
  • 必修课:从大一学习到求学、求职、工作、任教全程都要用 / 考,受益终身。
  • 五大主题:链(即线性表)、树、图、查找、排序;其中链 / 树 / 图为数据组织方式(Chain / Tree / Graph),查找 / 排序为数据处理方式(Search / Sort)。
  • 基础目标:概念 + 逻辑结构 / 存储结构 / 基本操作及实现 / 典型应用 / 算法性能度量与计算;用 C++ 面向对象的「类」实现各结构;能把实际问题按元素间关系抽象为数据结构并求解。
  • 进阶目标:协同设计、高效实现、创新优化数据存储与处理方案,应对国家级科技竞赛真实难题。