- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构第6章(C清华第二版)--(石大老梅出品)
等价类的应用举例 等价类的典型应用是用于软件工程中的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。 该测试方法把所有可能的输入数据,即程序的输入域划分成若干部分(等价类),然后从每一部分中选取少数有代表性的数据做为测试用例。 例: 在某一PASCAL语言版本中规定:“标识符是由字母开头,后跟字母或数字的任意组合构成。有效字符数为8个,最大字符数为80个。” 并且规定:“标识符必须先说明,再使用。” “在同一说明语句中,标识符至少必须有一个。” 建立输入等价类表: * 第六章 集合与字典 宋会英 * 1. 集合及其表示 2. 等价类 第六章 集合与字典 * 1. 集合及其表示 集合是成员(元素)的一个群集。集合中的成员可以是原子(单元素),也可以是集合。 集合的成员必须互不相同。 在算法与数据结构中所遇到的集合,其单元素通常是整数、字符、字符串或指针,且同一集合中所有成员具有相同的数据类型。 例:colour = { red, orange, yellow, green, black, blue, purple, white } ①集合基本概念 * 集合中的成员一般是无序的,但在表示它时,常写在一个序列里。 常设定集合中的单元素具有线性有序关系,此关系可记作“”,表示“优先于”。 整数、字符和串都有一个自然线性顺序。指针也可依据其在序列中安排的位置给予一个线性顺序。 在某些集合中保存实际数据值,某些集合中保存标示元素是否在集合中的指示信息。如学校开设的所有课程的编码属于前者,一个学期开设的课程构成的集合属于后者。 * A?B 或 A+B A?B 或 A?B A-B A A A B B B ②集合(Set)的运算 * ①等价关系与等价类(Equivalence Class) 2. 等价类 在求解实际应用问题时常会遇到等价类问题。 从数学上看,等价类是对象(或成员)的集合,在此集合中所有对象应满足等价关系。 若用符号“?”表示集合上的等价关系,则对于该集合中的任意对象x, y, z,下列性质成立: 自反性:x ? x (即等于自身)。 对称性:若 x ? y, 则 y ? x。 传递性:若 x ? y且 y ? z, 则 x ? z。 * 因此,等价关系是集合上的一个自反、对称、传递的关系。 “相等”(=)就是一种等价关系,它满足上述的三个特性。 一个集合 S 中的所有对象可以通过等价关系划分为若干个互不相交的子集 S1, S2, S3, …,它们的并就是 S。这些子集即为等价类。 在数学中,给定一个集合 X 和在 X 上的一个等价关系 ~,则 X 中的一个元素 a 的等价类是在 X 中等价于 a 的所有元素的子集。 ②确定等价类的方法 确定等价类的方法分两步走: * 读入并存储所有的等价对( i, j ); 标记和输出所有的等价类。 void equivalence ( ) { 初始化; while ( 等价对未处理完 ) { 读入下一个等价对 ( i, j ); 存储这个等价对 ; } 输出初始化; for ( 尚未输出的每个对象 ) 输出包含这个对象的等价类 ; } * 给定集合 S = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 },及如下等价对: 0 ? 4, 3 ? 1, 6 ? 10, 8 ? 9, 7 ? 4, 6 ? 8, 3 ? 5, 2 ? 11, 11 ? 0 进行归并的过程为: 初始{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11} 0 ? 4 {0,4},{1},{2},{3},{5},{6},{7},{8},{9},{10},{11} 3 ? 1 {0,4},{1,3},{2},{5},{6},{7},{8},{9},{10},{11} 6 ? 10 {0,4},{1,3},{2},{5},{6,10},{7},{8},{9},{11} 8 ? 9 {0,4},{1,3},{2},{5},{6,10},{7},{8,9},{11} 7 ? 4 {0,4,7},{1,3},{2},{5},{6,10},{8,9},{11} * {0,4,7},{1,3},{2},{5},{6,10},{8,9},{11}
文档评论(0)