试设计并实现不相交集合类结构,并写出union和find算法。
集合S上的等价关系R指的是满足自反、对称、传递性质的关系,S中具有等价关系R的元素构成的子集称为等价类,S中所有的等价类构成了集合S的一个划分:S中的每一个元素都在且仅在一个等价类中(等价类之间不相交)。
等价类(集合)作为一种抽象数据类型可以定义两种基本操作:find和union。对于S中的元素x,find(x)返回元素x的等价类名;union(i,j)执行的操作是将等价类i和等价类j合并成一个新的等价类。如果要把(a,b)添加到等价关系R中,即定义S中的元素a和b等价,根据等价关系的定义,实际上是将a所在的等价类和b所在的等价类合并。因此首先要分别对a和b进行find操作,看它们是否在同一个等价类。如果它们不在同一个等价类,则执行union(find(a),find(b))操作,将a和b所在的两个等价类合并为一个新的等价类。这样的操作改变了S的划分方法。
第1题
质量为m的物体悬挂如图。如杆AB的质量不计,两弹簧的刚度系数分别为k1和k2,又AC=a,AB=b求物体自由振动的频率。
第4题
如图为三根弹簧连接的振动装置,弹簧的刚度系数分别为k1,k2,k3,假设质量为M的物块A沿铅垂方向平动,则该振动装置的等效弹簧的刚度系数ke=______,而振动的固有频率ωn=______。
第5题
系统如图所示,质量m的小物块与水平地面光滑接触,劲度系数分别为k1,k2的两个轻弹簧开始时均处于自由长度状态。若使小物块获得朝右(或朝左)的初速度,便会形成振动,试求振动周期T。
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!