全球旧事资料 分类
13设计一个分治算法来判定给定的两棵二叉树T1和T2是否相同。解答:算法思想:对于两棵二叉树T1和T2,若其根结点值相同,且其左右子树分别对应相同,则T1=T2;否则T1≠T2。其描述如下:boolea
BTEQUALBTT1,BTT2为了便于描述,假定二叉树类型为BT。二叉树T的左子树为Tlchild,右子树为Trchild。二叉树T的根结点值Tdata。ifT1NULLT2NULLretur
True均为空树ifT1T2T1dataT2dataBTEQUALT1lchildT2lchildBTEQUALT1rchildT2rchildretur
Trueretur
False4给出一个分治算法来找出
个元素的序列中的第2大元素,并分析算法的时间复杂度。解答:算法思想:当序列A1
中元素的个数
2时,通过直接比较即可找出序列的第2大元素。当
2时,先求出序列A1
1中的第1大元素x1和第2大元素x2;然后,通过2次比较即可在三个元素x1x2和A
中找出第2大元素,该元素即为A1
中的第2大元素。算法描述如下:Seco
dEleme
tAlowhighmax1max2假设主程序中调用该过程条件为highlow2ifhightlow2
ifAlowAhightmax2Alowmax1Ahighelsemax2Ahighmax1AlowelseSeco
dEleme
tAlowhighx1x2ifx1A
max2max1max1A
elseifx2A
max2x2max1x1elsemax2A
max1x1该算法的时间复杂度满足如下递归方程:T
T
12;T21。解得T
2
3。
作业二
一、名词解释:1、MST性质:GVE是连通带权图,U是V的真子集。如果uvE,且uU,vVU,且在所有这样的边中,uv的权cuv最小,那么一定存在G的一棵最小生成树,它以uv为其中一条边。这个性质称为MST性质。2、子问题的重叠性质:递归算法求解问题时,每次产生的子问题并不总是新问题,有些子问题被反复计算多次,这种性质称为子问题的重叠性质。
2文档来源为从网络收集整理word版本可编辑欢迎下载支持
f文档来源为从网络收集整理word版本可编辑欢迎下载支持二、简答题:1、简述动态规划算法求解的基本要素。
动态规划算法求解的基本要素包括:1)最优子结构是问题能用动态规划算法求解的前提;2)动态规划算法,对每一个子问题只解一次,而后将其解保存在一个表格中,当再次需要解此子问题时,只是简单地用常数时间查看一下结果,即重叠子问题。2、备忘录方法和动态规划算法相比有何异同?简述之。备忘录方法是动态规划算法的变形。与动态规划算法一样,备忘录方法用表格保存已解决的子问题的答案,在下次需要解此问题时,只要简单地查看该子问题的解答,而不必重新计算。备忘录方法与动态规划算法不同的是,备忘录方法的递r
好听全球资料 返回顶部