《数据结构》第4章 串、数组和广义表
第4章 串、数组和广义表
第一块:引入
什么叫数据结构?为什么这是一门问题驱动型学科?
第二块:问题
线性结构+非线性结构的逻辑结构+存储结构+操作
第三块:应用
到底能解决什么问题?
第四块:拓展
能否将非线性和线性进行一个统一表征?
学习过程:文字→形式化→公式化→推理
学习一个数据结构
1.逻辑结构
2.存储结构
3.操作
4.上机
学习一个算法
1.基本思想
2.执行过程
3.案例
4.上机(计算机是最公正的,实践是检验真理的唯一标准)
4.1 串的定义
4.2 串的类型定义、 存储及其运算
知识点1:串的表示
方法1:定长顺序存储表示
方法2:堆分配存储表示
方法3:串的块链存储表示
知识点2:【必考】串的模式匹配
前提:
- 假设串采用顺序存储结构,
- 串的长度存放在数组的0号单元,串值从1号单元开始存放
方法1: BF算法——一失配就重新来过,比较几趟模式串在目标串中的位置就是几
算法思想:相等则i、j同时下移,不相等则j回溯到最初,i移到刚比较的第二个元素