青岛大学_王卓老师【数据结构与算法】Week06_01_串的定义_学习笔记
发布人:shili8
发布时间:2025-01-24 10:03
阅读次数:0
**青岛大学_王卓老师【数据结构与算法】Week06_01_串的定义**
**一、前言**
在计算机科学中,串(String)是指一系列字符序列的集合。串是计算机程序设计中的一个基本概念,它广泛应用于编程语言、数据库管理系统、网络通信等领域。在本周的学习笔记中,我们将重点讨论串的定义及其相关概念。
**二、串的定义**
串(String)是一种特殊的线性表达式,其元素是字符。一个串可以看作是一个有序集合,包含一系列的字符,每个字符都具有特定的位置和值。串的长度是指其包含的字符数量。
**三、串的基本概念**
1. **串的长度**:串的长度是指其包含的字符数量。
2. **串的空串**: 空串是指一个长度为零的串,通常表示为空或不存在的串。
3. **串的相等**:两个串相等当且仅当它们包含相同的字符序列。
**四、串的操作**
1. **串的赋值**: 将一个串赋给另一个变量时,会创建一个新的串副本,并将其赋值给目标变量。
2. **串的连接**:两个串的连接是指将它们合并成一个新串,其长度为两个原串长度之和。
3. **串的截取**: 将一个串截取到指定位置时,会创建一个新的串副本,并返回该部分。
**五、代码示例**
class String: def __init__(self, value): self.value = value def length(self): return len(self.value) def isEmpty(self): return self.length() ==0 def equals(self, other): return self.value == other.value# 创建两个串对象str1 = String("Hello") str2 = String("World") # 测试串的长度print(str1.length()) # 输出:5print(str2.length()) # 输出:5# 测试串是否为空print(str1.isEmpty()) # 输出: Falseprint(str2.isEmpty()) # 输出: False# 测试串相等print(str1.equals(str2)) # 输出: False# 测试串连接str3 = str1 + " " + str2print(str3.value) # 输出: Hello World# 测试串截取str4 = str1.substring(0,3) print(str4.value) # 输出: Hel
**六、总结**
在本周的学习笔记中,我们讨论了串的定义及其相关概念。我们了解了串的长度、空串、相等以及串的操作,如赋值、连接和截取。通过代码示例,我们可以看到这些概念如何应用于实际编程场景。
**七、参考**
* 《数据结构与算法》第6 章:串* 《计算机程序设计艺术》第3 卷:算法以上是本周的学习笔记。希望通过阅读这篇文章,你可以更好地理解串的定义及其相关概念,并在实际编程场景中应用这些知识。