不相交集ADT--数组实现】的更多相关文章

//不相交集ADT (抽象数据类型) //一般用于集合运算 //用树,这种结构组成,有多个树(=森林) //属于同一颗数的元素,表示处于同一个集合中 //主要支持2个操作. //1. Find操作,找到给定元素所属的集合编号 //2. Union操作,给出2个元素,将他们纳入同一个集合中 //常见使用场景:元素a和b是否属于同一集合? //find(a) == find(b) :true 表示a和b属于同一集合 //但注意:因为是不相交集,所以一个元素在同一时刻,只能最多属于一个集合中,不能存在…
导读: 你是否曾渴望回到宋朝? 或者什么朝,反正就是男耕女织的古代. 哦,那时的首都在汴梁(开封),房价想必没有如今这么高,工作?无非就是给你把锄头,去,种地去.夕阳西下了,麦子垛后,你和翠姑搂抱在一起,那时的你,生活的简单而美好. 看看如今的你,一个刚入门的安卓开发project师,没有信用卡,没有她,没有24小时热水的家.你想念你的锄头和翠姑(或麦垛),可你回不去了.你握在手中的安卓手机,冰冷如铁,你不知道怎样在这4寸屏的小东西上创出一片天地. 你不用感到不知所措和困惑,技术就是你安身立命的…
[0]README 0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 Kruskal(克鲁斯卡尔)算法 的idea 并用 源代码加以实现: 0.2)最小生成树的基础知识,参见 http://blog.csdn.net/pacosonswjtu/article/details/49947085 [1] Kruskal 算法(使用到了不相交集ADT的union/find 操作) 1.1)第二种贪婪策略是: 连续地按照最小的权选择边, 并且当所选的边不产生圈时就可以吧它作为取定…
转自:http://www.linuxidc.com/Linux/2014-04/99735.htm 数据结构与算法分析:C语言描述(原书第2版中文版!!!) PDF+源代码+习题答案 数据结构与算法分析:C语言描述(原书第2版)是<data structures and algorithm analysis in c>一书第2版的简体中译本.原书曾被评为20世纪顶尖的30部计算机著作之一,作者mark allen weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅…
0)引论 不相交集是解决等价问题的一种有效的数据结构,之所以称之为有效是因为,这个数据结构简单(几行代码,一个简单数组就可以搞定),快速(每个操作基本上可以在常数平均时间内搞定). 首先我们要明白什么叫做等价关系,而在这个之前要先有一个关系(relation)的定义 Relation:定义在数据集S上的关系R是指,对于属于数据集S中的每一对元素(a,b),a R b要么是真要么是假.如果a R b为真,就说a related b,即a与b相关. 等价关系也是一种关系(Relation),只不过是…
/*删除表的正确方法*/ /*assume header*/ void DeleteList(List L) { Position p,Tmp; p=L->Next; while(p != NULL) { Tmp=p->Next; free(p); p = Tmp; } }//先free掉,然后再判断这个结点的Next是不是NULL,是就不做了 /*多项式ADT*/ /*多项式数组实现的类型声明*/ /*一个结构就可以表示.一个多项式*/ typedef struct{ CoeffArray[…
目录 1.使用固定大小的数组实现ADT bag 包 1.1 一组核心方法 1.2 实现核心方法   1.3 让实现安全 1.4 测试核心方法 1.5 实现更多的方法 1.6 删除项的方法 1.7 测试 1.8 发现总结 2.使用可变大小的数组实现ADT包 2.1 可变大小数组 2.2 包的新实现 2.3 使用数组实现ADT包的优缺点 1. 使用固定大小的数组实现ADT bag包 1.1 一组核心方法 基于数组实现的ADT包ArrayBag,实现接口BagInterface,接口中定义了泛型T,在…
/* 栈的数组实现声明 */ struct StackRecord; typedef struct StackRecord *Stack; #define MinSstackSize 5 #define EmptyTOS -1 struct StackRecord { int Capacity; int TopOfStack; ElementType *Array; }; /* 栈的创建-数组实现 */ Stack CreateStack( int MaxElements ) { Stack S…
Random queue ADT接口 RANDOM.h #include <stdlib.h> #include "Item.h" #include <time.h> #include <stdbool.h> void RANDOMQUEUEtailput(int); void RANDOMQUEUEinit(int); bool RANDOMQUEUEisFull(void); bool RANDOMQUEUEisEmpty(void); stat…
Deque ADT接口 DEQUEUE.h: #include <stdlib.h> #include "Item.h" void DEQUEUEinit(int); void DEQUEUEerror(void); Item DEQUEUEheadget(void); Item DEQUEUEtailget(void); void DEQUEUEheadput(Item); void DEQUEUEtailput(Item); int DEQUEUEisEmpty(voi…