首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列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
62
问题
阅读下列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://kaotiyun.com/show/gMDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
可用于编写独立程序和快速脚本的语言是()。
以下关于软件测试原则的叙述中,不正确的是()。
零件关系P(零件名,条形码,供应商,产地,价格)中的(12)属性可以作为该关系的主键。查询产于西安且名称为“P2”的零件,结果以零件名、供应商及零件价格分列表示,对应的SQL语句为:SELECT零件名,供应商,价格FROMPWHE
零件关系P(零件名,条形码,供应商,产地,价格)中的(12)属性可以作为该关系的主键。查询产于西安且名称为“P2”的零件,结果以零件名、供应商及零件价格分列表示,对应的SQL语句为:SELECT零件名,供应商,价格FROMPWHE
某软盘有40个磁道,磁头从一个磁道移至另一个磁道需要5ms。文件在磁盘上非连续存放,逻辑上相邻数据块的平均距离为10个磁道,每块的旋转延迟时间及传输时间分别为100ms和25ms,则读取一个100块的文件需要时间为(24)。
某财务系统在使用过程中,因个人所得税政策变化,需修改计算工资的程序。这种修改属于______维护。
设有学生实体Students(学号,姓名,性别,年龄,家庭住址,家庭成员,关系,联系电话),其中“家庭住址”记录了邮编、省、市、街道信息;“家庭成员,关系,联系电话”分别记录了学生亲属的姓名、与学生的关系以及联系电话。学生实体Students中的“
软件缺陷通常是指存在于软件之中的那些不希望或不可接受的偏差,以下关于软件缺陷的理解不正确的是()。
银行系统数据流图中,某个加工根据客户的多个不同属性的值来执行不同的操作,则对该加工最适宜采用()描述。
以下关于防火墙功能特性的说法中,错误的是______。
随机试题
既能泻火凉血,活血祛瘀,又能清泄湿热的药物是
患者,女,56岁。主诉洗澡时无意扪及右侧乳房一肿块,无痛,时隔十个多月来诊,查体:在右乳外上象限见局限性皮肤凹陷,该部位能扪及3cm×2cm大小肿物,此处皮肤凹陷最可能的原因是
患者,男性,37岁。急刹车致使方向盘挤压上腹部16小时,上腹部、腰部及右肩疼痛,持续伴恶心、呕吐。查体:体温38.4℃,上腹部肌紧张明显,有压痛,反跳痛不明显,无移动性浊音,肠鸣音存在,怀疑胰腺损伤。对明确诊断帮助不大的是
下列各种疾病中不属于现代社会病的是( )。
小半夏汤的功用是()金铃子散的功用是()
在房地产保险(包括投保和理赔)及其他损害中,通常也是采用()。
创业投资企业采取股权投资方式,投资于未上市的中小高新技术企业2年以上的,可按其投资额的一定比例抵扣该创业投资企业的企业所得税应纳税所得额。这一比例是()。(2009年)
对教学经验的反思,波斯纳提出了一个教师成长公式:_________。
【B1】【B20】
TheChineseNewYearisabigtraditionalholidayinSingapore.OnitsEve,whilemanywill【C1】______forthereuniondinner,o
最新回复
(
0
)