首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列C++程序和程序说明, 将应填入(n)处的字句写在答题纸的对应栏内。 【说明】构造最优二叉查找树。 具有n个结点的有序序列a1, a2, …, an存在于数组元素a[1]、a[2], …, a[n]之中, a[0]未被使用。结点a1, a2
阅读下列C++程序和程序说明, 将应填入(n)处的字句写在答题纸的对应栏内。 【说明】构造最优二叉查找树。 具有n个结点的有序序列a1, a2, …, an存在于数组元素a[1]、a[2], …, a[n]之中, a[0]未被使用。结点a1, a2
admin
2009-02-15
94
问题
阅读下列C++程序和程序说明, 将应填入(n)处的字句写在答题纸的对应栏内。
【说明】构造最优二叉查找树。
具有n个结点的有序序列a1, a2, …, an存在于数组元素a[1]、a[2], …, a[n]之中, a[0]未被使用。结点a1, a2, …, an-1, an的查找成功的概率p1, p2, …, pn-1, pn存在于数组元素 p[1]、p[2], …, p[n—1]、p[n]之中, p[0]未用。另外, 查找失败的概率q0, q1, …, qn-1, qn存在于数组元素q[0]、p[1], …, q[n-1]、q[n]之中。算法计算的序列ai+1, ai+2,…, aj-1, aj的最优二叉查找树T
ij
的代价C
ij
存在于数组元素c
[j]之中, T
ij
的根结点的序号r
ij
存在于r
[j]之中, 它的权值存在于w
[j]之中。为了便于内存的动态分配, 统统使用一维数组取代二维数组。
const float MAXNUM=99999. 0; //尽可能大的浮点数
template<(1)>
void OPtimal_Binary_Search_Tree(float p[], float q[], Type a[], int n) {
float *C, *W;
c=(2);
w=(3);
int *r;
r=new int[(n+1)*(n+1)];
for(i=0; i<=n; i++)
{ c[i*(n+1)+i]=0. 0; // 即:c
=0.0, 用一维数组表示
w[i*(n+1)+i]=q
; // 即:w
=q
, 用一维数组表示
}
int i, j, k, m, length; // m表示根结点的下标或序号, 范围为0~n
float minimum;
for(length=1; length<=n; length++) //处理的序列长度由1到n
for(i=0; i<=n-length; i++){ //i为二叉查找树Tij的起始序号
j=i + length; //j为二叉查找树Tij的终止序号。如:处理序列a1a2a3时,
//相应的二叉查找树为T03, i=0, 而j=3
w[i*(n+1)+j]=(4);
minimum =MAXMUM;
for(k=i+1; k<=j; k++) //考察以ai+1、ai+2, …, ai为根的情况
if((5)<minimum)
{ minimum=c[i*(n+1)+k-1]+c[k*(n+1)+j];m=k; }
c[i*(n+1)+j]=w[i*(n+1)+j]+c[i*(n+1)+m-1]+c[m*(n+1)+j];
r[i*(n+1)+j]=m; // r
[j]=m
}
} //构造好的最优二叉查找树的根结点的序号在r[0][n]中
选项
答案
(1) class Type (2) new float[(n+1)*(n+1)] (3) new float[(n+1)*(n+1)] (4) w[i*(n+1)+j-1]+p[j]+q[j] (5) c[i*(n+1)+k-1]+c[k*(n+1)+j]
解析
(1) class Type
定义最优二叉查找树生成函数模板Optimal_Binary_Search_Tree。
(2) new float[(n+1)*(n+1)]
按数组a长度n+1申请动态二维数组c,存放最优二叉查找树T
ij
的代价C
ij
。
(3) new float[(n+1)*(n+1)]
按数组a长度n+1申请动态二维数组w,存放最优二叉查找树T
ij
的权值W
ij
。
(4) w[i*(n+1)+j-1]+p[j]+q[j]
由W
ij-1
递推计算W
ij
。
(5) c[i*(n+1)+k-1]+c[k*(n+1)+j]
找C
ik
+C
kj
(k=i+1,…,j)的最小值的m=k,求C
ij
。按照一般二维数组的写法是: c
[j]=w
[j]+c
[m-1]+c[m][j]。
转载请注明原文地址:https://www.kaotiyun.com/show/gMDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
在面向对象分析模型中,______不属于系统的行为模型。
程序设计语言中(34)。
下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,则完成该项目的最少时间为_____________(34)天。活动BD最多可以晚开始______________(35)天而不会影响整个项目的进度。(35)
下图为某设计模式的类图,类State和Context的关系为(49),类(50)是客户使用的主要接口。(50)
下图中,类Product和ConcreteProduct的关系是(45),类ConcreteCreator和ConcreteProduct的关系是(46)。(46)
采用插入排序算法对n个整数排序,其基本思想是:在插入第i个整数时,前i-1个整数已经排好序,将第i个整数依次和第i-1,i-2,…个整数进行比较,找到应该插入的位置。现采用插入排序算法对6个整数{5,2,4,6,1,3}进行从小到大排序,则需要进行(31)
ICMP协议属于因特网中的(27)协议,ICMP协议数据单元封装在(28)中传送。(28)
某文件管理系统采用位示图(bitmap)记录磁盘的使用情况。如果系统的字长为32位,磁盘物理块的大小为4MB,物理块依次编号为:0、1、2、…,位示图字依次编号为:0、1、2、…,那么16385号物理块的使用情况在位示图中的第(24)个字中描述;如果磁盘的
根据ANSI/IEEE829标准,(62)属于《测试案例说明》中的内容。 ①输入说明 ②测试目的 ③环境要求 ④特殊要求
与XY(即X与Y不相同时,XY的结果为真)等价的逻辑表达式为________________。
随机试题
人民法院审理行政案件,对具体行政行为既审查合法性,又审查合理性。()
钢管分为()钢管和无缝钢管两大类。
A、专用仓库B、低温库C、非药品库D、阴凉库E、常温库栓剂应存放于
如题7图所示电路的谐振频率为()。
施工成本核算的基本环节中,不包括()。
主张采用实验内省法研究意识的是()
某选区在举行人民代表大会代表直接选举时,应参加选举的选民为25000人,实际参加选举的选民为12350人。该选区三位候选人甲、乙、丙最后实际获得选票依次为6250票、3500票、2600票。按照法律规定,选举结果是()。
一棵二叉树的繁茂度定义为R层结点数的最大值与树的高度的乘积。编写一个算法求二叉树的繁茂度。
以下论述,错误的有()
VocationalSchools Theuniversitiesarenotabletomeetallthe【T1】______________needsofthesocietyforfuture【T2】_________
最新回复
(
0
)