《计算机科学中的数学》学习笔记(04 数学数据类型)

书本信息:

作者: [美] Eric Lehman / [美] F. Thomson Leighton / [美] Albert R. Meyer
出版社: 电子工业出版社
出品方: 博文视点
副标题: 信息与智能时代的必修课
原作名: Mathematics for Computer Science

04 数学数据类型


在计算机科学和数学中,有许多常用的数据类型,例如:
集合(Sets):集合是一种包含不同元素(element)的无序集合。集合中的元素可以是任何类型的对象,例如数字、字母、其他集合等。
序列(Sequences):序列是一种有序的元素集合。与集合不同,序列中的元素是有顺序的,且可以重复。例如,{1, 2, 2, 3} 是一个序列。
函数(Functions):函数是一种将输入(domain)映射到输出(range)的关系。例如,f(x) = x^2 是一个函数,将实数映射到它们的平方。
元组(Tuples):元组是一种有序的元素集合,与序列类似。但是,元组通常用于包含有限数量的元素,且每个元素都有特定的含义和位置。例如,(x, y) 可以表示一个二维平面上的点。
向量(Vectors):向量是一种有序的数值集合,通常用于表示物理量(如速度和加速度)或者空间中的点。例如,(1, 2, 3) 可以表示三维空间中的一个点或者一个方向。
矩阵(Matrices):矩阵是一种二维的数值表,通常用于表示

线性变换或者解决线性方程组。例如,[[1, 2], [3, 4]] 是一个 2x2 的矩阵。
图(Graphs):图是一种由节点(vertices)和边(edges)组成的结构,通常用于表示对象之间的关系。例如,网络、社交网络、Web页面链接等都可以用图来表示。
树(Trees):树是一种特殊的图,其中任意两个节点之间只有一条路径。树常用于表示层级关系,如文件系统、HTML DOM 树等。

1、集合

在数学中,集合是一个包含不同元素的无序集合。集合中的元素可以是任何类型的对象。

1.1 常用集合

  • 空集(Empty Set):没有元素的集合,表示为 ∅。
  • 自然数集(Set of Natural Numbers):所有非负整数的集合,表示为 N 或 ℕ。
  • 整数集(Set of Integers):所有整数的集合,表示为 Z 或 ℤ。
  • 有理数集(Set of Rational Numbers):所有可以表示为两个整数比例的数的集合,表示为 Q 或 ℚ。
  • 实数集(Set of Real Numbers):所有实数的集合,表示为 R 或 ℝ。
  • 复数集(Set of Complex Numbers):所有复数的集合,表示为 C 或 ℂ。

1.2 集合的比较和组合

  • 子集(Subset):如果集合 A 中的每一个元素都在集合 B 中,那么我们说 A 是 B 的子集,表示为 A ⊆ B。
  • 真子集(Proper Subset):本书中称为严格子集(strict subset)如果 A 是 B 的子集,并且 A 不等于 B,那么我们说 A 是 B 的真子集,表示为 A ⊂ B。
  • 并集(Union):集合 A 和 B 的并集是一个包含 A 和 B 中所有元素的集合,表示为 A ∪ B。
  • 交集(Intersection):集合 A 和 B 的交集是一个包含同时在 A 和 B 中的所有元素的集合,表示为 A ∩ B。
  • 差集(Difference):集合 A 和 B 的差集是一个包含在 A 中但不在 B 中的所有元素的集合,表示为 A - B 或 A \ B。
  • 补集(Complement):如果 U 是全集,集合 A 的补集是一个包含在 U 中但不在 A 中的所有元素的集合,表示为 A’ 或 A^c。

1.3 幂集(Power Set)

集合 A 的幂集是 A 的所有子集构成的集合,表示为 pow(A) 或 2^A。例如,如果 A = {1, 2},那么 pow(A) = {∅, {1}, {2}, {1, 2}}。

1.4 集合构造器标记(Set Builder Notation)

集合构造器标记是一种表示特定属性的元素集合的方式,主要思想是使用谓词(Predicates)定义集合,即使谓词为真的所有取值构成一个集合。例如,集合 {x ∈ Z | x > 0} 表示所有大于 0 的整数。

1.5 证明集合相等

要证明两个集合 A 和 B 相等,我们需要证明 A 中的每一个元素都在 B 中,且 B 中的每一个元素都在 A 中。

2、序列

序列是一种有序的元素集合。与集合不同,序列中的元素是有顺序的,且可以重复。序列通常用小写字母表示,例如 a、b、c 等,其中 a_n 表示序列 a 的第 n 个元素。

2.1 集合的笛卡尔积(扩展)

长度为2的序列称为对(pair),对于两个集合 A 和 B,它们的笛卡尔积(Cartesian Product)是一个新的集合,其中的元素是所有可能的有序对 (a, b),其中 a ∈ A,b ∈ B。笛卡尔积通常表示为 A × B。

例如,如果 A = {1, 2},B = {a, b},那么 A × B = {(1, a), (1, b), (2, a), (2, b)}。

笛卡尔积可以扩展到更多的集合。例如,A × B × C 是所有可能的3比特序列 (a, b, c) 的集合,其中 a ∈ A,b ∈ B,c ∈ C。

2.2 序列的几种积运算(扩展)

在数学中,序列的积运算通常指的是将序列中的所有元素相乘。这种运算在数学中被称为乘积(product)。

有限序列的积(Product of a Finite Sequence)
对于有限序列 (a1, a2, …, an),我们可以定义其积为所有元素的乘积:
∏ i = 1 n a i = a 1 ⋅ a 2 ⋅ . . . ⋅ a n \prod_{i=1}^{n} a_i = a_1 \cdot a_2 \cdot ... \cdot a_n i=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值