离散算法全解.docVIP

  • 76
  • 0
  • 约9.09千字
  • 约 11页
  • 2017-10-03 发布于重庆
  • 举报
离散算法全解

数理逻辑中的算法 1.1逻辑联结词的定义方法 逻辑连接词“非” 逻辑连接词“合取” 逻辑连接词“析取” 逻辑连接词“蕴涵” 逻辑连接词“等值” 1.2 合式公式的表示方法 给出任意一个合式公式,我们应该怎样将它用C语句表示出来,并且能够计算它在各组真值指派下所应有的真值(或是逻辑运算的结果)呢?显然,方法是多种多样的。这里我们给出一种较为简便的方法。上面我们已经给出了逻辑连结词的定义,根据这种定义方法,我们也可以把一个合式公式表示成为条件语句中的条件表达式,这样我们就不难得到该合式公式的逻辑运算结果了。例如,的程序如下: 算法 验证合式公式的表示方法“ ? 1.3 构造任意合式公式的真值表 A)功能 给出任意变元的合式公式,要求构造该合式公式的真值表。 算法 (1)?????? 将二进制加法器模拟器A(N)赋初值。0ai (i=1,2,….,n)。 (2)?????? 计算模拟器中所对应的一组真值指派下合式公式的真值(200语句)。 (3)?????? 输出真值表中对应于模拟器所给出的一组真值指派及这组真值指派所对应的一行真值。 (4)?????? 在模拟器A(N),模拟的产生下一个二进制数值。 (5)?????? 若A(N)中的数值等于2n,则结束,否则转(2)。 ?第二章 集合论中的算法 为了强调集合论中各运算的基本概念及各运算的基本算法,这里假设各集合均为每个元素都是数字而组成的集合。在后面各章中也均作这种假设,并不再重述。 2.1 求并集 A)功能 给定集合A和B,要求出A和B的并集C(C=A∪B)。 B)基本思想 由于并集的组成为:C={x|x∈A∨x∈B},所以,只要将集合A与B合在一起就得到了并集C。但是,在一个集合中,同样的元素没必要出现两次或两次以上,所以,在将集合A送入并集C后,应将集合B中与A中相同的元素删除,再将集合B送入并集C之中。 C)算法 集合B的元素个数送M,集合A的元素个数送N。 AC。 1i。 若i M,则结束。 否则,对于j=1,2,…….,n,判:bi=aj,若相等,则转(7)。 否则,biC。 i+1i,转(4)。 2.2求交集 A)功能 已知所给集合A和B,求A与B 的交集C(C=A∩B)。 B)基本思想 根据交集的定义:C={x|x∈A∧x∈B},我们将集合A的各个元素与集合B的元素进行比较,若在集合B中存在某个元素并和集合A中一元素相等,则将该元素送入交集C之中。 C)算法 将集合A的元素送N。 1i 若iN,则结束。 否则,将ai与集合B中的每个元素进行比较,若ai与集合B中所有元素均不相同,则转(6)。 否则,aiC。 i+1i,转(3)。 2.3求差集 A)功能 已知所给集合A和B,求集合A、B的差集C(C=A-B)。 B)基本思想 差集C的定义:C={x|x∈A∧xB}清楚的告诉我们,对于集合A中的元素ai,若不存在bj∈B(j=1,2,…..,m),使得ai=bj,则ai ∈差集C。 C)算法 将集合A的元素个数送N。 1i。 iN,则结束。 否则,将ai与集合B中的每个元素相比较,若ai 与集合B中的某个元素相同,则转(6)。 否则,aiC。 i+1i,转(3)。 2.4求笛卡儿乘积 A)功能 已知集合A和B,求A和B的笛卡儿乘积C(C=A×B)。 B)基本思想 笛卡儿乘积是以有序偶为元素组成的集合,它的定义为C={x,y|x∈A∧y∈B}。所以,欲求笛卡儿乘积。只需取尽由集合A的元素及集合B的元素,并构成序偶ai,bj送入C之中即可。 C)算法 将集合A的元素个数送入N。 将集合B的元素个数送入M。 1i。 若iN,则结束。 1j。 若jM,则转(9)。 ai,bjC。 j+1j,转(6)。 i+1i,转(4)。 第三章 关系中的算法 在第一篇中我们已经介绍过,关系是笛卡儿乘积的子集,因此,我们可以采用集合论中表示集合的方法来表示关系。但是,一个关系也可以由关系矩阵给出。显然。用关系矩阵来表示关系比用数组表示有序偶更为方便。所以,在后面的各算法中,关系将由关系矩阵给出,并设RX×X,其中,X={1,2,…..,n}。 3.1 判断关系R是否为自反关系及对称关系 A)功能 已知关系R由关系矩阵M给出,要求判断由M表示的这个关系是否为自反关系和对称关系。 B)基本思想 从给定的关系矩阵来判关系R是否为自反、对称、是很容易的。若M(R的关系矩阵)的主对角线元素均为1,则R是自反关系;若M为对称矩阵,则R是对称关系。因为R为自反的、对称的是等价关系的必要条件,所以,本算法可以作为判等价关系算法的子程序给出。因此,在程序中设置标志变量F,若R是自反的、对称的。则F=1,否则F=0。 C)算法 送入关系矩阵M(M为n介方阵)。 判自反性,对于i=1,2,

文档评论(0)

1亿VIP精品文档

相关文档