当前位置:文档之家› 数据结构与算法实验题答案

数据结构与算法实验题答案

数据结构与算法实验题答案
数据结构与算法实验题答案

A 装箱问题模拟(20)

源码:

#include

#include

using namespace std;

char box[1010];

int main()

{

memset(box,100,sizeof(box)); int N;

int t;

int num=0;

cin>>N;

int temp = N;

while(temp--)

{

cin>>t;

for (int i=0;i

{

int a = box[i];

if (a>=t)

{

if (a==100)

num++;

box[i] -=t;

cout<

}

}

}

cout<

//system("pause");

return 0;

}

B 表达式转换(25)

源码:

#include

#include

#include

using namespace std;

stack sta;

int main()

{

string s;

string anwser;

cin>>s;

int i;

bool number = false;

bool firstFlag = true;

string snum = "";

for(i = 0; i < s.length(); ++i)

{

if(s[i] >= '0' && s[i] <= '9' || s[i] == '.') {

number = true;

snum += s[i];

}

else if(number == true)

{

number = false;

if(firstFlag)

firstFlag = false;

else

anwser += " ";

if(snum[0] == '+')

snum.erase(snum.begin());

anwser += snum;

snum = "";

}

if(s[i] == '+' || s[i] == '-')

{

if(i == 0 ||

s[i-1] == '+' || s[i-1] == '-' ||

s[i-1] == '*' || s[i-1] == '/' ||

s[i-1] == '(' )

snum += s[i];

else

{

while(sta.size() && sta.top() != '(') {

int t = sta.top();

if(firstFlag)

firstFlag = false;

else

anwser += " ";

anwser += t;

sta.pop();

}

sta.push(s[i]);

}

}

else if(s[i] == '*' || s[i] == '/')

{

while(sta.size() && sta.top() != '(') {

int t = sta.top();

if(t == '-' || t == '+')

break;

if(firstFlag)

firstFlag = false;

else

anwser += " ";

anwser += sta.top();

sta.pop();

}

sta.push(s[i]);

}

else if(s[i] == ')')

{

while(sta.size() && sta.top() != '(') {

if(firstFlag)

firstFlag = false;

else

anwser += " ";

anwser += sta.top();

sta.pop();

}

if(sta.size())

sta.pop();

}

else if(s[i] == '(') sta.push(s[i]);

}

if(snum != "")

{

if(firstFlag)

firstFlag = false; else

anwser += " ";

anwser += snum;

}

while(sta.size())

{

if(firstFlag)

firstFlag = false; else

anwser += " "; anwser += sta.top(); sta.pop();

}

cout<

return 0;

}

C 家谱处理(30)

源码:

#include

#include

#include

using namespace std;

struct Person

{

string name;

int level;

};

int main()

{

// freopen("C:\\Users\\Frank Wang\\Desktop\\in.txt","r",stdin); ios_base::sync_with_stdio(0);

// cin.tie(0);

vector family_tree;

int n,m;

cin>>n>>m;

while(n--)

{

if(cin.get()!='\n') cin.unget();

int s_cnt=0;

while(cin.get()==' ') ++s_cnt;

cin.unget();

Person pe_tmp;

pe_tmp.level=s_cnt;

cin>>pe_https://www.doczj.com/doc/ff16964015.html,;

family_tree.push_back(pe_tmp);

}

// for(vector::iterator

it=family_tree.begin();it!=family_tree.end();++it)

// {

// cout<name<<' '<level<

// }

string name_a,name_b,relation;

while(m--)

{

cin>>name_a;

int count=6;

while(count--) cin.get();

char ch;

cin.get(ch);

if(ch=='c'||ch=='e')

{

relation="child";

}

else if(ch=='s') relation="sibling";

else

{

relation="ancestor";

}

cin.ignore(256,'f');

cin>>name_b;

if(ch=='e'||ch=='d')

{

name_a.swap(name_b);//or swap(name_a,name_b) in

,but former is better.

}

// cout<

if(relation=="child")

{

vector::iterator it=family_tree.begin(); for(;it!=family_tree.end();++it)

{

if(it->name==name_b) break;

}

int level_tmp=it->level;

if(it!=family_tree.end()) ++it;

bool flag=1;

while(it!=family_tree.end()&&it->level>level_tmp) {

if(it->name==name_a&&it->level==level_tmp+2) {

cout<<"True\n";

flag=0;

break;

}

++it;

}

if(flag) cout<<"False\n";

}

else if(relation=="ancestor")

{

vector::iterator it=family_tree.begin(); for(;it!=family_tree.end();++it)

{

if(it->name==name_a) break;

}

int level_tmp=it->level;

if(it!=family_tree.end()) ++it;

bool flag=1;

while(it!=family_tree.end()&&it->level>level_tmp) {

if(it->name==name_b)

{

cout<<"True\n";

flag=0;

break;

}

++it;

}

if(flag) cout<<"False\n";

}

else

{

vector::iterator it=family_tree.begin(); for(;it!=family_tree.end();++it)

{

if(it->name==name_a) break;

}

int level_tmp=it->level;

vector::iterator it_tmp=it;

if(it!=family_tree.end()) ++it;

bool flag=1;

while(it!=family_tree.end()&&it->level>=level_tmp) {

if(it->name==name_b&&it->level==level_tmp)

{

cout<<"True\n";

flag=0;

break;

}

++it;

}

if(flag)

{

if(it_tmp!=family_tree.begin()) --it_tmp;

while(it_tmp!=family_tree.begin()&&it_tmp->level>=level_tmp) {

if(it_tmp->name==name_b&&it_tmp->level==level_tmp)

{

cout<<"True\n";

flag=0;

break;

}

--it_tmp;

}

}

if(flag) cout<<"False\n"; }

}

}

D 航空公司VIP客户查询(25)

源码:

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

typedef long int lld;//long int

#define rot(v) (((v)>>3)|(((v)&7)<<9))

const int MAX=110000;

const int MOD=100003;

const int INF=1000000000;

struct Node

{

int a,b;

char x;

int mile,next;

}node[MAX];

int head[MOD],E;

char buf[22];

int chg(char x)

{

if(x=='x')return 10;

return x-'0';

}

int fun(char s[],int &a,int &b,char &x) {

int ret=0,i;

int tmp;

a=b=0;

for(i=0;i<9;i++)

{

tmp=s[i]-'0';

a=a*10+tmp;//记录没取余数的数值

ret=ret*10+tmp;

}

ret%=MOD;

for(;i<17;i++)

{

tmp=s[i]-'0';

b=b*10+tmp;//记录后面没取余数的数值

ret=(ret*10+tmp)%MOD;

}

x=s[i];//记录最后一位

return (ret*100+chg(s[i]))%MOD;//返回取余数的数值}

void ins(char s[],int mile)

{

int a,b;

char x;

int h=fun(s,a,b,x);

int i;

//发生冲突时的处理

for(i=head[h];i!=-1;i=node[i].next)//head 全局变量 {

if(node[i].x==x&&node[i].a==a&&node[i].b==b) {

node[i].mile+=mile;

return ;

}

}

node[E].a=a;

node[E].b=b;

node[E].x=x;

node[E].mile=mile;

node[E].next=head[h];

head[h]=E++;

}

int query(char s[])

{

int a,b;

char x;

int h=fun(s,a,b,x);

int i;

for(i=head[h];i!=-1;i=node[i].next)

{

if(node[i].x==x&&node[i].a==a&&node[i].b==b)return node[i].mile;

}

return -1;

}

void out(int n)

{

if(n)

{

out(n/10);

putchar('0'+n%10);

}

}

int main()

{

int n,m;

int k,i;

while(scanf("%d%d",&n,&k)!=EOF) {

memset(head,-1,sizeof(head)); E=0;

int mile=0;

while(n--)

{

scanf("%s%d",buf,&mile); if(mile

ins(buf,mile);

}

scanf("%d",&m);

getchar();

while(m--)

{

//scanf("%s",buf);

gets(buf);

mile=query(buf);

if(mile==-1)puts("No Info"); else

{

out(mile);

// cout<

// printf("%d",mile);

putchar('\n');

}

}

}

return 0;

}

#include

#include

#include

using namespace std;

const int N=10005;

int n,m,dis[N];

bool used[N];

dequeed[N];

void think(int src)

{

fill(used,used+N,false);

fill(dis,dis+N,0);

queueQ;

Q.push(src);

used[src]=true;

dis[src]=0;

while(!Q.empty())

{

int k=Q.front();

Q.pop();

for(int i=0,_i=ed[k].size();i<_i;++i)

{

int tmp=ed[k][i];

if(!used[tmp])

{

dis[tmp]=dis[k]+1;

used[tmp]=true;

Q.push(tmp);

}

}

}

printf("Cc(%d)=",src);

int sum=0,flag=1;

for(int i=1;i<=n;++i)

{

if(!dis[i]&&i!=src)

{flag=0;break;}

sum+=dis[i];

}

printf("%.2f\n",(flag?(double(n-1)/sum):0)); }

int main()

scanf("%d%d",&n,&m);

while(m--)

{

int a,b;

scanf("%d%d",&a,&b);

ed[a].push_back(b);

ed[b].push_back(a);

}

scanf("%d",&m);

while(m--)

{

int k;

scanf("%d",&k);

think(k);

}

return 0;

}

F 奥运排行榜(25)

源码:

#include

int gold[225],medal[225],population[225];

int list[10];

int fir = 0;//用来判断是否是第一个元素用的

void printresult(int check_number,int n);

int main()

{

int n,m;

scanf("%d%d",&n,&m);

for(int i = 0;i < n;i++)

scanf("%d%d%d",&gold[i],&medal[i],&population[i]); for(int i = 0;i < m;i++)

{

int check_number;

scanf("%d",&check_number);

printresult(check_number,n);

}

printf("\n");

return 0;

void printresult(int check_number,int n)

{

for(int i = 0;i < n;i++)

{

if(gold[i]>gold[check_number])

list[1]++;

}

int result = ++list[1];//这里还要多加一个1,因为数组原来是0

int num = 1;

for(int i = 0;i < n;i++)

{

if(medal[i]>medal[check_number])

list[2]++;

}

list[2]++;

double gold_per = gold[check_number]*1.0/population[check_number]; for(int i = 0;i < n;i++)

{

if((gold[i]*1.0/population[i])>gold_per)

list[3]++;

}

list[3]++;

double medal_per = medal[check_number]*1.0/population[check_number]; for(int i = 0;i < n;i++)

{

if(medal[i]*1.0/population[i]>medal_per)

list[4]++;

}

list[4]++;

for(int i = 1;i < 5;i++)

{

if(list[i]

{

result = list[i];

num = i;

}

}

for(int i = 1;i < 5;i++)

list[i] = 0;//对排名数组清零,因为之后要多次调用

if(!fir)

{

printf("%d:%d",result,num);//首个输入前面不用空格

fir = 1;

else

printf(" %d:%d",result,num); }

数据结构与算法设计实验

《数据结构与算法设计》 实验报告 ——实验二 学院:自动化学院 班级: 学号: : 一、实验目的

按照四则运算加、减、乘、除、幂(^)和括号的优先关系和惯例,编写计算器程序。 二、实验容 简单计算器。 请按照四则运算加、减、乘、除、幂(^)和括号的优先关系和惯例,编写计算器程序。要求: ①从键盘输入一个完整的表达式,以回车作为表达式输入结束的标志。 ②输入表达式中的数值均为大于等于零的整数。中间的计算过程如果出现小数也只取 整。 例如,输入:4+2*5= 输出:14 输入:(4+2)*(2-10)= 输出:-48 三、程序设计 概要设计 1、宏定义 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 2、基本函数: (1)void InitStack_char(SqStack *S) //char型栈初始化 (2)void InitStack_int(sqStack *S) //int型栈初始化 (3)void Push_char(SqStack *S,char ch) //char型元素进栈 (4)void Push_int(sqStack *S,int num) //int型元素进栈 (5)char GetTop_char(SqStack *S) //取char型栈顶元素 (6)int GetTop_int(sqStack *S) //取int型栈顶元素 (7)Status In(char c) //判断是否为运算符,若是运算符则返回,否则返回 (8)char Precede(char a,char b) //判断两运算符的先后次序 (9)Status Pop_char(SqStack *S,char &x) //char型栈出栈 (10)Status Pop_int(sqStack *S,int &x) //int型栈出栈 (11)int Operate(int a,char theta,int b) //计算a和b运算结果 3、流程图

实验诊断学试试题库学校答案学习资料

实验诊断学试试题库 学校答案

实验诊断学试题库 选择题: 1.下列临床常用标本中,不正确的是:D A.血常规实验中,最常用的抗凝剂为EDTA·K2。 B.严重溶血的标本不能用于血K+的测定。 C.对于尿液一般常规检查,可用随机尿标本。 D.采集脑脊液标本时,常采用第一管作细胞计数。 2.下列关于临床检验标本描述中,错误的是:A A.血常规检查的标本一般用EDTA-Na2抗凝的标本。 B.尿液常规检查一般可留取随机尿标本。 C.PT、APTT试验需采用枸橼酸盐抗凝。 D.严重溶血的标本不能用于血K+的测定。 3.在急性化脓性感染时,以下检验结果哪一项是错误的:D A.WBC总数升高 B.外周血中出现晚幼粒细胞 C.中性粒细胞空泡变性 D.NAP(中性粒细胞碱性磷酸酶染色)活性降低 4.下列选项中,错误的是:C A.在急性化脓性感染中,外周血中常易出现晚幼粒细胞。 B.在病毒性感染中,常可见淋巴细胞分类增多。 C.嗜酸性粒细胞生理功能中突出的特点是参与超敏反应。 D.缺铁性贫血经铁剂治疗后,在红细胞分布直方图上可出现“双峰”改变。5.关于非选择性蛋白尿,下述描述中错误的是:D A.非选择性蛋白尿常出现于较严重肾小球病变中。 B.中分子量白蛋白与小分子量β2-微球蛋白同时增多。 C.大分子量蛋白质如IgG、IgA甚至IgM也大量滤出。 D.非选择性蛋白尿治疗反应常常十分有效,因此预示预后良好。 6.关于正常骨髓象的描述,下列中错误的是:C A.骨髓增生活跃 B.粒红比值约为5-7:1 C.粒系中杆状核粒细胞高于分叶核粒细胞,在粒细胞系中所占的比例为最高 D.可见到极少量网状细胞、内皮细胞、组织嗜碱细胞等非造血细胞 7.依赖维生素K的凝血因子(依K因子)包括有:B A.FⅡ、Ⅳ、Ⅸ、Ⅹ

数据结构与算法C语言版期末复习题

《数据结构与算法》期末复习题 一、选择题。 1.在数据结构中,从逻辑上可以把数据结构分为 C 。 A.动态结构和静态结构B.紧凑结构和非紧凑结构 C.线性结构和非线性结构D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指 A 。 A.数据的存储结构B.数据结构C.数据的逻辑结构D.数据元素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。 A.逻辑B.存储C.逻辑和存储D.物理 4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。 A.数据的处理方法B.数据元素的类型 C.数据元素之间的关系D.数据的存储方法 5.在决定选取何种存储结构时,一般不考虑 A 。 A.各结点的值如何B.结点个数的多少 C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便。 6.以下说法正确的是 D 。 A.数据项是数据的基本单位 B.数据元素是数据的最小单位 C.数据结构是带结构的数据项的集合 D.一些表面上很不相同的数据可以有相同的逻辑结构 7.算法分析的目的是 C ,算法分析的两个主要方面是 A 。 (1)A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进C.分析算法的易读性和文档性 (2)A.空间复杂度和时间复杂度B.正确性和简明性 C.可读性和文档性D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是O(n2) 。 s =0; for( I =0; i

数据结构 习题 第一章 绪论

第1章绪论 一、选择题 1. 算法的计算量的大小称为计算的()。 A.效率 B. 复杂性 C. 现实性 D. 难度 2. 算法的时间复杂度取决于() A.问题的规模 B. 待处理数据的初态 C. A和B 3.计算机算法指的是(1),它必须具备(2)这三个特性。 (1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法 (2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性 C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性 4.一个算法应该是() A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和C. 5. 下面关于算法说法错误的是() A.算法最终必须由计算机程序实现 B.为解决某问题的算法同为该问题编写的程序含义是相同的 C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错误的 6. 下面说法错误的是()【南京理工大学 2000 一、2 (1.5分)】 (1)算法原地工作的含义是指不需要任何额外的辅助空间 (2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法 (3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界 (4)同一个算法,实现语言的级别越高,执行效率就越低 A.(1) B.(1),(2) C.(1),(4) D.(3) 7.从逻辑上可以把数据结构分为()两大类。【武汉交通科技大学 1996 一、4(2分)】A.动态结构、静态结构 B.顺序结构、链式结构 C.线性结构、非线性结构 D.初等结构、构造型结构 8.以下与数据的存储结构无关的术语是()。【北方交通大学 2000 二、1(2分)】A.循环队列 B. 链表 C. 哈希表 D. 栈 9.以下数据结构中,哪一个是线性结构()?【北方交通大学 2001 一、1(2分)】A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串 10.以下那一个术语与数据的存储结构无关?()【北方交通大学 2001 一、2(2分)】A.栈 B. 哈希表 C. 线索树 D. 双向链表 11.在下面的程序段中,对x的赋值语句的频度为()【北京工商大学 2001 一、10(3分)】 FOR i:=1 TO n DO FOR j:=1 TO n DO x:=x+1; A. O(2n) B.O(n) C.O(n2) D.O(log2n) 12.程序段 FOR i:=n-1 DOWNTO 1 DO FOR j:=1 TO i DO IF A[j]>A[j+1] THEN A[j]与A[j+1]对换; 其中 n为正整数,则最后一行的语句频度在最坏情况下是()

实验诊断习题及答案

实验诊断学复习题 第一章概论 名词解释: 1实验诊断:是指医生的医嘱通过临床实验室分析所得到的信息为预防、诊断、治疗疾病和预后评价所用的医学临床活动。 2血液学检验:被检个体的基因背景及病理生理状态的综合分析的结果应用于该个体的预防、诊断和治疗上,这种诊断称为个体化诊断。 3个体化诊断:被检个体的基因背景及病理生理状态的综合分析的结果应用于该个体的预防、诊断和治疗上,这种诊断称为个体化诊断。 4床边检测(POCT):床边检测是指在病人医疗现场进行的医学检验。 5参考值:是指对抽样的个体进行某项目检测所得的值; 6参考范围:所有抽样组测得值的平均值加减2个标准差即为参考范围。 问答题: 1 实验诊断包括哪几方面? 答:包括实验室前、实验室和实验室后3个部分。 1.实验室前包括医生对患者的分析、化验项目的选择和组合、与上级医生的商讨、医嘱的制定、检验申请、患者的准备、原始样品的采集,运到实验室并在实验室内进行传输。 2.临床实验室以诊、防、治人体疾病或评估人体健康提供信息为目的,对取自人体的材料进行生物学、微生物学、免疫学、化学、血液学、生理学、细胞学、病理学或其他检验学的分析。并提出检查范围内的咨询性服务,包括结果解释和为进一步的检查提供咨询性服务。

3.实验室后包括系统性的审核、规范格式和解释、授权发布、结果的报告与传递和检验样品的储存。通过上述过程得到的实验室数据和信息与临床资料结合进行综合分析。实验诊断是诊断学中一个重要组成部分,是临床医生必须掌握的基本知识。 2试述实验诊断学的内容 答:实验诊断学的内容包括如下: 1.血液学检验血液和造血组织的原发性血液病以及非造血细胞疾病所致的血液学变化的检查。包括红细胞、白细胞和血小板的数量、生成动力学、形态学和细胞化学等的检验;止血功能、血栓栓塞、抗凝和纤溶功能的检验;溶血的检验;血型鉴定和交叉配血试验等。 2.体液与排泄物检验对尿、粪和各种体液以及胃液、脑脊液、胆汁等排泄物、分泌液的常规检验。 3.生化学检验对组成机体的生理成分、代谢功能、重要脏器的生化功能、毒物分析及药物浓度监测等的临床生物化学检验。包括糖、脂肪、蛋白质及其代谢产物和衍生物的检验;血液和体液中电解质和微量元素的检验;血气和酸碱平衡的检验;临床酶学检验;激素和内分泌功能的检验;药物和毒物浓度检测等。 4.免疫学检验免疫功能检查、临床血清学检查、肿瘤标志物等的临床免疫学检测检验。 5.病原学检验感染性疾病的常见病原体检查、医院感染的常见病原体检查、性传播性疾病的病原体检查,细菌耐药性检查等。 有关临床遗传学检查、临床脱落细胞学检查等未包括在本篇范围内。 3 血液学检验有哪些方面? 答:包括红细胞、白细胞和血小板的数量、生成动力学、形态学和细胞化学等的检

计算机学院数据结构与算法分析期末试题(2007级B)_无答案

四川大学期末考试试题 (2008-2009学年第1学期) 课程号:课程名称:数据结构与算法分析(B卷)任课教师: 1.数据类型为()。 A)数据项的集合B)值的集合及定义在其上的一组操作的总称 C)数据元素的集合D)关键字的集合 2.链表不具有的特点是()。 A)可随机直接访问任一元素B)插入删除不需要移动元素 C)不必事先估计元素个数D)所需空间与线性表长度成正比 3.设一个栈的入栈序列是ABCD,则借助于一个栈所得到的出栈序列不可能是()。 A)ABCD B)DCBA C)ABCD D)DABC 4.将对称矩阵A nxn压缩存储在一维数组B[m]中,则m的值至少为()。 A)n(n+1)/2 B)n(n-1)/2 C)n(n+1) D)n2 5.设二叉树中有n2个度为2的结点,n1个度为1的结点,n0个叶子结点,则此二叉树中空指针域个数为()。 A)n0+n1+n2 B)n2+n1+2n0 C)2n2+n1D)2n0+n1 6.对于具有n个顶点的强连图,其弧条数的最小值为()。 A)n+1 B)n C)n-1 D)n-2 7.一棵深度为k的平衡二叉树,其每个非终端结点的平衡因子均为0,则该树共有()个结点。 A)2k-1-1 B)2k-1C)2k-1+1 D)2k-1 8.归并排序的时间复杂度是()。 A)O(1) B)O(n) C)O(n2) D)O(nlogn) 9.每一趟都能选出一个元素放在其最终位置上,并且不稳定的排序算法是()。 A)冒泡排序B)简单选择排序C)希尔排序D)直接插入排序10.按照二叉树的定义,具有3个结点的不同形态(相似)的二叉树有()种。 A)3 B)4 C)5 D)6 二、(本题10分) 利用两个栈S1、S2模拟一个队列(如客户队列)时,如何用栈的运算实现队列的插入、删除运算,请简述算法思想。 三、(本题10分) 已知一棵二叉树的先序序列与中序序列分别如下,试画出此二叉树。 先序序列:ABCDEFGH IJ 中序序列:CBEDAGHFJI 注:试题字迹务必清晰,书写工整。本题2页,本页为第1页 教务处试题编号:

实验诊断学试题库学校答案1

实验诊断学试题库 选择题: 1.下列临床常用标本中,不正确的是:D A.血常规实验中,最常用的抗凝剂为EDTA·K2。 B.严重溶血的标本不能用于血K+的测定。 C.对于尿液一般常规检查,可用随机尿标本。 D.采集脑脊液标本时,常采用第一管作细胞计数。 2.下列关于临床检验标本描述中,错误的是:A A.血常规检查的标本一般用EDTA-Na2抗凝的标本。 B.尿液常规检查一般可留取随机尿标本。 C.PT、APTT试验需采用枸橼酸盐抗凝。 D.严重溶血的标本不能用于血K+的测定。 3.在急性化脓性感染时,以下检验结果哪一项是错误的:D A.WBC总数升高 B.外周血中出现晚幼粒细胞 C.中性粒细胞空泡变性 D.NAP(中性粒细胞碱性磷酸酶染色)活性降低 4.下列选项中,错误的是:C A.在急性化脓性感染中,外周血中常易出现晚幼粒细胞。 B.在病毒性感染中,常可见淋巴细胞分类增多。 C.嗜酸性粒细胞生理功能中突出的特点是参与超敏反应。 D.缺铁性贫血经铁剂治疗后,在红细胞分布直方图上可出现“双峰”改变。

5.关于非选择性蛋白尿,下述描述中错误的是:D A.非选择性蛋白尿常出现于较严重肾小球病变中。 B.中分子量白蛋白与小分子量β2-微球蛋白同时增多。 C.大分子量蛋白质如IgG、IgA甚至IgM也大量滤出。 D.非选择性蛋白尿治疗反应常常十分有效,因此预示预后良好。 6.关于正常骨髓象的描述,下列中错误的是:C A.骨髓增生活跃 B.粒红比值约为5-7:1 C.粒系中杆状核粒细胞高于分叶核粒细胞,在粒细胞系中所占的比例为最高 D.可见到极少量网状细胞、内皮细胞、组织嗜碱细胞等非造血细胞 7.依赖维生素K的凝血因子(依K因子)包括有:B A.FⅡ、Ⅳ、Ⅸ、Ⅹ B.FⅡ、Ⅶ、Ⅸ、Ⅹ C.FⅡ、Ⅴ、Ⅷ、Ⅹ D.FⅤ、Ⅶ、Ⅷ、Ⅹ 8.尿蛋白定性检查为+~++,尿圆盘电泳图形以小分子量蛋白为主,最可能为哪一种蛋白尿的特征:B A.肾小球性蛋白尿 B.肾小管性蛋白尿 C.混合性蛋白尿 D.功能性蛋白尿 9.血清白蛋白减少,球蛋白增加最主要见于哪种疾病:D

北京交通大学数据结构与算法期末测验考试参考答案

北京交通大学考试试题(A卷) 课程名称:数据结构与算法2011-2012学年第一学期出题教师:张勇 (请考生注意:(1)本试卷共有六道大题,(2)答案一律写在答题纸上,(3)试卷不得带出考场) 1. 在顺序表中访问任意一个元素的时间复杂度均为,因此顺序表也称为 的数据结构。 2.三维数组a[4][3][2](下标从0开始),假设a[0][0][0]的地址为50,数据以行序优先方式存储,每个元素的长度为2字节,则a[2][1][1]的地址是。 3. 直接插入排序用监视哨的作用是。 4. 已知广义表Ls=(a, (b, c), (d, e)), 运用head和tail函数取出Ls中的原子d的运算 是。 5.对有14个元素的有序表A[1..14]进行折半查找,当比较到A[4]时算法结束。被比较元素除A[4]外,还有。 6. 在AOV网中,顶点表示,边表示。 7. 有向图G可进行拓扑排序的判别条件是。 8. 若串S1=‘ABCDEFGHIJK’,S2=‘451223’,S3=‘####’,则执行 Substring(S1,Strlength(S3),Index(S2,‘12’,1))的结果是。 二、选择题(每空2分,共20分) 1.在下列存储形式中,哪一个不是树的存储形式?() A.双亲表示法B.孩子链表表示法 C.孩子兄弟表示法D.顺序存储表示法 2.查找n个元素的有序表时,最有效的查找方法是()。 A.顺序查找B.分块查找 C.折半查找D.二叉查找 3.将所示的s所指结点加到p所指结点之后,其语句应为()。 p (A) s->next=p+1 ; p->next=s;

(B) (*p).next=s; (*s).next=(*p).next; (C) s->next=p->next ; p->next=s->next; (D) s->next=p->next ; p->next=s; 4. 在有向图的邻接表存储结构中,顶点v 在链表中出现的次数是( )。 A. 顶点v 的度 B. 顶点v 的出度 C. 顶点v 的入度 D. 依附于顶点v 的边数 5. 算法的时间复杂度为O (nlog 2n )、空间复杂度为O(1)的排序算法是( )。 A. 堆排序 B. 快速排序 C. 归并排序 D.直接选择 6. 设矩阵A 是一个对称矩阵,为了节省存储,将其 下三角部分(如右图所示)按行序存放在一维数组B[ 1, n(n-1)/2 ]中,对下三角部分中任一元素ai,j(i ≤j), 在一维数组B 中下标k 的值是( ): A.i(i-1)/2+j-1 B.i(i-1)/2+j C.i(i+1)/2+j-1 D.i(i+1)/2+j 7. 由一个长度为11的有序表,按二分查找法对该表进行查找,在表内各元素等概率情 况下,查找成功的平均查找长度是( )。 A .29/11 B. 31/11 C. 33/11 D.35/11 8. AVL 树是一种平衡的二叉排序树,树中任一结点的( )。 A. 左、右子树的高度均相同 B. 左、右子树高度差的绝对值不超过1 C. 左子树的高度均大于右子树的高度 D. 左子树的高度均小于右子树的高度 9. 下列四种排序方法中,不稳定的方法是( )。 A. 直接插入排序 B. 冒泡排序 C. 归并排序 D. 堆排序 10. 设树的度为4,其中度为1,2,3,4的结点个数分别为4, 2, ,1, 1, 则T 中的叶子数为 ( )。 A .5 B .6 C .7 D .8 三、 判断题(10分,每小题1分) 1. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。( ) 2. 数组不适合作任何二叉树的存储结构。( ) 3. 广义表的取表尾运算,其结果通常是个表,但有时也可是个原子。( ) 4. 在含有n 个结点的树中,边数只能是n-1条。( ) 5. 所谓一个排序算法是否稳定,是指该算法在各种情况下的效率是否相差不大。( ) 6. 简单选择排序在最好情况下的时间复杂度为O(n)。( ) 7. 在二叉排序树中插入一个新结点,总是插入到叶结点下面。( ) 8. 采用线性探测处理冲突,当从哈希表中删除一个记录时,不应将该记录所在位置置 空,因为这会影响以后的查找。( ) 9. 有n 个数存放在一维数组A[1..n]中,在进行顺序查找时,这n 个数的排列有序或无 ?????? ? ???? ? ??=n n n n a a a a a a A ,2,1,2 ,21,21 ,1Λ Λ

数据结构与算法第1章参考答案

习题参考答案 一.选择题 1.从逻辑上可以把数据结构分为(C)两大类。 A.动态结构、静态结构 B.顺序结构、链式结构 C.线性结构、非线性结构 D.初等结构、构造型结构 2.在下面的程序段中,对x的斌值语句的频度为(C)。 for( t=1;k<=n;k++) for(j=1;j<=n; j++) x=x十1; A. O(2n) B. O (n) C. O (n2). D. O(1og2n) 3.采用链式存储结构表示数据时,相邻的数据元素的存储地址(C)。 A.一定连续B.一定不连续 C.不一定连续 D.部分连续,部分不连续 4.下面关于算法说法正确的是(D)。 A.算法的时间复杂度一般与算法的空间复杂度成正比 B.解决某问题的算法可能有多种,但肯定采用相同的数据结构 C.算法的可行性是指算法的指令不能有二义性 D.同一个算法,实现语言的级别越高,执行效率就越低 5.在发生非法操作时,算法能够作出适当处理的特性称为(B)。 A.正确性 B.健壮性 C.可读性 D.可移植性 二、判断题 1.数据的逻辑结构是指数据的各数据项之间的逻辑关系。(√) 2.顺序存储方式的优点是存储密度大,且插人、删除运算效率高。(×) 3.数据的逻辑结构说明数据元素之间的次序关系,它依赖于数据的存储结构。(×) 4.算法的优劣与描述算法的语言无关,但与所用计算机的性能有关。(×) 5.算法必须有输出,但可以没有输人。(√) 三、筒答题 1.常见的逻辑结构有哪几种,各自的特点是什么?常用的存储结构有哪几种,各自的特点是什么? 【答】常见的四种逻辑结构: ①集合结构:数据元素之间是“属于同一个集合” ②线性结构:数据元素之间存在着一对一的关系 ③树结构:数据元素之间存在着一对多的关系 ④结构:数据元素之间存在着多对多的关系。 常见的四种存储结构有: ①顺序存储:把逻辑上相邻的元素存储在物理位置相邻的存储单元中。顺序存储结构是一种最基本的存储表示方法,通常借助于程序设计语言中的数组来实现。 ②链接存储:对逻辑上相邻的元素不要求物理位置相邻的存储单元,元素间的逻辑关系通过附设的指针域来表示。 ③索引存储:通过建立索引表存储结点信息的方法,其中索引表一般存储结点关键字和一个地点信息,可通过该地址找到结点的其他信息。 ④散列存储:根据结点的关键字直接计算出该结点的存储地址的方法。 2.简述算法和程序的区别。 【解答】一个算法若用程序设计语言来描述,则它就是一个程序。算法的含义与程序十分相

全国计算机二级考试 数据结构与算法

全国计算机二级考试 第一章数据结构与算法 1.一个算法一般都可以用_____、_____ 、 _____三种控制结构组合完成。 [解析]顺序、选择(分支)、循环(重复) 一个算法通常由两种基本要素组成:一是对数据对象的运算和操作,二是________。 [解析]算法的控制结构 在一般的计算机系统中,有算术运算、逻辑运算、关系运算和________四类基本的操作和运算。 [解析]数据传输 2.常用于解决“是否存在”或“有多少种可能”等类型的问题(例如求解不定方程的问题)的算法涉及基本方法是() A.列举法 B.归纳法 C.递归法 D.减半递推法 [解析]列举就是列举出所有可能性,将所有可能性统统列举出来,然后解决问题的方法。所以A 3.根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的,这是算法设计基本方法中的____。 [解析]列举法

4.通过列举少量的特殊情况,经过分析,最后找出一般的关系的算法设计思想是() A.列举法 B.归纳法 C.递归法 D.减半递推法 [解析]B 5.在用二分法求解方程在一个闭区间的实根时,采用的算法设计技术是() A.列举法 B.归纳法 C.递归法 D.减半递推法 [解析]二分法就是从一半处比较,减半递推技术也称分治法,将问题减半。所以D 6.将一个复杂的问题归结为若干个简单的问题,然后将这些较简单的问题再归结为更简单的问题,这个过程可以一直做下去,直到最简单的问题为止,这是算法设计基本方法中的___。如果一个算法P显式地调用自己则称为___。如果算法P调用另一个算法Q,而算法Q又调用算法P,则称为_____. [解析]递归法直接递归间接递归调用 7.算法中各操作之间的执行顺序称为_____。描述算法的工具通常有_____、_____ 、 _____。 [解析]控制结构传统流程图、N-S结构化流程图、算法描述语言 8.从已知的初始条件出发,逐步推出所要求的各中间结果和最后结果,这

数据结构与算法实验报告

竭诚为您提供优质文档/双击可除数据结构与算法实验报告 篇一:数据结构与算法实验报告-图 沈阳工程学院 学生实验报告 (课程名称:数据结构与算法) 实验题目: 班级网络本112学号27姓名郑乐乐地点F606指导教师吕海华祝世东实验日期:20XX年11月13日 1 2 3 4 篇二:《数据结构与算法》实验报告模板 软件工程系实验报告封面 课程名称:数据结构与算法 课程代码:ss1005 实验指导老师:钟迅科

实验报告名称: 本实验报告包括以下几个内容: 一、实验(实践)目的 二、实验(实践)环境 三、实验(实践)实现过程 四、实验(实践)分析与总结 五、指导教师评语与评分 我申明,本报告内的实验已按要求完成,报告完全是由我个人完成,并没有抄袭行为。我已经保留了这份实验报告的副本。 申明人(签名): 学生姓名:张三学号:1140888888教学班:FJ01递交日期:20XX年10月11日 篇三:数据结构与算法实验报告c++版 算法与数据结构 实验报告 实验一:栈与队列 一、实验目的 1、掌握栈和队列特点、逻辑结构和存储结构 2、熟悉对栈和队列的一些基本操作和具体的函数定义。 3、利用栈和队列的基本操作完成一定功能的程序。 二、实验任务

1.出顺序栈的类定义和函数实现,利用栈的基本操作完成十进制数n与其它d进制数 的转换。(如n=1357,d=8) 2.给出顺序队列的类定义和函数实现,并利用队列计算并打印杨辉三角的前n行的内 容。(n=8) 3.给出链栈的类定义和函数实现,并设计程序完成如下功能:读入一个有限大小的整 数n,并读入n个数,然后按照与输入次序相反的次序输出各元素的值。 三、实验原理 1、将十进制数n转化为d进制时,用除去余数法,用d 除n所得余数作为d进制当前个位,将相除所得的商的整数部分作为新的n值重复上述计算,直到n为0为止。将前所得到的各余数反过来连接便得到最终结果。将每次求出的余数入栈,求解结束后,再依次出栈。 2、在杨辉三角中可用上一行的数来求出对应位置的下一行的内容。用队列保存上行内容,每当由上行的两个数求出下行的一个数时,其中的前一个便需要删除,而求出的数就 入队。为便于求解,在每行的第一个位置添加一个0作为辅助。 3、输出操作应在读入所有输入的整数后才能进行,用

实验诊断学选择题+答案

第一+第二章 1. 红细胞及血红蛋白相对性增多是 C A.红细胞生成增多 B.红细胞生成减少 C.血浆容量减少 D.血浆容量增多 E.血红蛋白生成增多 2. RBC及HB绝对性增多是A A.红细胞生成增多 B.红细胞生成减少 C.血浆容量减少 D.血浆容量增多 E.血红蛋白生成减少 3.下列哪项引起相对性红细胞增多 B A.真性红细胞增多症 B.大面积烧伤 C.肺心病 D.发绀型先心病 E.高原生活4.不属于血红蛋白继发性增多的疾病是 C A.阻塞性肺气肿 B.肺源性心脏病 C.真性红细胞增多症 D.某些肿瘤患者 E.紫绀型先大性心脏病 5.小细胞低色素性贫血最常见于B A.营养不良性性贫血 B.缺铁性贫血 C.再生障碍性贫血 D.白血病 E.急性溶血性贫血 6.卡波环现认为可能是 A A.核膜残余物 B.铁颗粒沉积 C.色素沉着 D.血红蛋白聚集 E.胞质发育异常7.多发性骨髓瘤是哪一类细胞异常增生 D A.中性粒细胞 B.嗜酸性粒细胞 C.单核细胞 D.浆细胞 E.嗜碱性粒细胞 8.外周血出现以泪滴形红细胞为特点的疾病是 B A.缺铁性贫血 B.骨髓纤维化 C.血红蛋白S病 D.DIC E.巨幼细胞贫血9.作为铅中毒诊断的重要指标之一的是 E A.嗜多色性红细胞 B.裂细胞 C.染色质小体 D.卡-波环 E.碱性点彩细胞10.正常人WBC计数的参考值是 C A.(5~8)ⅹ109 /L B.(6~10)ⅹ109 /L C.(4~10)ⅹ109 /L D.(4~12)ⅹ109 /L E.(3~10)ⅹ109 /L 11.正常人白细胞分类计数中性粒细胞占C A.20%一40% B.2%一4% C.50%一70% D.0%一5% E.0.5%一5% 12.正常人白细胞分类计数淋巴细胞占 A A.20%一40% B.2%一4% C.50%一70% D.0%一5% E.0.5%一5% 13.符合中性粒细胞减少的疾病是 A A.脾功能亢进 B.尿毒症 C.急性链球菌感染 D.急性溶血 E.肺吸虫病 14.不属于中性粒细胞中毒改变的是 D A.大小不均 B、空炮变性 C.中毒颗粒 D.卡波环 E.核固缩 15.中性粒细胞反应性增加的疾病是 C A.伤寒 B.疟疾 C.心肌梗塞 D.过敏性休克 E.副伤寒 16.不引起嗜酸性粒细胞增多的疾病是 C A.支气管哮喘 B.猩红热 C.伤寒 D.慢性粒细胞白血病 E.湿疹 17.关于白细胞核象左移,下列叙述哪项较为确切 A A.外周血不分叶粒细胞超过5%时 B.外周血涂片中出现幼稚细胞称核左移

数据结构与算法的实验报告

数据结构与算法第二次实验报告 电子105班 赵萌 2010021526

实验二:栈和队列的定义及基本操作 一、实验目的: . 熟练掌握栈和队列的特点 . 掌握栈的定义和基本操作,熟练掌握顺序栈的操作及应用 . 掌握对列的定义和基本操作,熟练掌握链式队列的操作及应用, 掌握环形队列的入队和出队等基本操作 . 加深对栈结构和队列结构的理解,逐步培养解决实际问题的编程能力 二、实验内容: 定义顺序栈,完成栈的基本操作:空栈、入栈、出栈、取栈顶元素; 实现十进制数与八进制数的转换; 定义链式队列,完成队列的基本操作:入队和出队; 1.问题描述: (1)利用栈的顺序存储结构,设计一组输入数据(假定为一组整数),能够对顺序栈进行如下操作: . 初始化一个空栈,分配一段连续的存储空间,且设定好栈顶和栈底; . 完成一个元素的入栈操作,修改栈顶指针; . 完成一个元素的出栈操作,修改栈顶指针; . 读取栈顶指针所指向的元素的值; . 将十进制数N 和其它d 进制数的转换是计算机实现计算的基本问题,其解决方案很多,其中最简单方法基于下列原理:即除 d 取余法。例如:(1348)10=(2504)8 N N div 8 N mod 8 1348 168 4 168 21 0 21 2 5 2 0 2 从中我们可以看出,最先产生的余数 4 是转换结果的最低位,这正好符合栈的特性即后进先出的特性。 所以可以用顺序栈来模拟这个过程。以此来实现十进制数与八进制数的转换; . 编写主程序,实现对各不同的算法调用。 (2)利用队列的链式存储结构,设计一组输入数据(假定为一组整数),能够对链式队列进行如下操作: . 初始化一个空队列,形成一个带表头结点的空队; . 完成一个元素的入队操作,修改队尾指针; . 完成一个元素的出队操作,修改队头指针; . 修改主程序,实现对各不同的算法调用。

实验诊断学考试试题-(1)

一、单项选择题 1.成人女性血红蛋白正常参考值为多少g/L A.100~140 B.140~170 C.120~160 D.110~150 E.170~200 2.红细胞和血红蛋白均增高的心脏病是 A.高血压性心脏病 B.慢性肺源性心脏病 C.冠心病 D.贫血性心脏病 E.风湿性心脏病 3.网织红细胞减少见于 A.上消化道出血 B.缺铁性贫血 C.溶血性贫血 D.再生障碍性贫血 E.白血病 4.下列正常值中错误的是 A.网织红细胞0.005~0.015 B.白细胞计数 (4.0~10.0)X109 C.嗜酸性粒细胞0.5%~5% D.嗜中性粒细胞20%~40% E.血小板数(100~300)×109 5.中度贫血是指血红蛋白量为: A.>90g/L B.90g/L~60g/L C.60g/L~30g/L D.<60g /L E.<30g/L 6.下列哪项属小细胞低色素性贫血: A.缺铁性贫血 B.溶血性贫血 C.急性失血性贫血 D.巨幼细胞性贫血 E.再生障碍性贫血 7.中性粒细胞增多最常见的原因是: A.急性溶血 B.急性中毒 C.急性感染 D.大面积烧伤 E.恶性肿瘤 8.下列哪种疾病引起白细胞总数减少: A.尿毒症 B.急性中毒 C.化脓性感染 D.伤寒 E.急性心肌梗死 9.有关白细胞计数,下列各项中不正确的是 A.>10×109/L为白细胞增多 B.<4×109/L为白细胞减少 C.化脓性感染,白细胞增多 D.革兰氏阴性杆菌感染,白细胞可减少 E.白细胞增多和淋巴细胞增多常一致 10.急性失血时血象最早的变化是: A.血小板减少 B.血红蛋白减少 C.白细胞升高 D.白细胞减少 E.血小板减少增高 11.嗜酸性粒细胞增多见于 A.急性出血 B.急性感染 C.过敏性疾病 D.肺结核 E.伤寒 12.淋巴细胞增多见于 A.化脓性感染 B.寄生虫病 C.病毒性感染 D.皮肤病 E.过敏性疾病 13.下列除哪种情况外,都可引起血小板减少 A.再生障碍性贫血 B.急性大失血 C.放射病 D.脾功能亢进 E.弥散性血管内凝血 14.出血时间延长见于: A.上消化道出血 B.肺出血 C.脑出血 D.血小板减少 E.红细胞减少 15.凝血埋单缩短见于: A.血友病 B.严重肝病 C.无纤维蛋白血症 D.DIC E.纤维蛋白溶解活性亢进 16.网织红细胞明显增多最常见于: A.巨幼细胞性贫血 B.未治疗的缺铁性贫血 C.溶血性贫血 D.淋巴瘤 E.再生障碍性贫血 17.通常作为判断贫血治疗效果和治疗性试验的指标是: A.RBC B.Hb C.Ret D.Hct E.ESR 18.MCH是指: A.平均红细胞体积 B.平均红细胞血红蛋白量 C.红细胞压积 D.红细胞体积分布宽度 E.平均红细胞血红蛋白浓度 19.反映红细胞体积大小变异的指标为: A.MCV B.MPV C.RDW D.HCT E.ESR 20.下列哪种成分增高可导致血沉增快: A.白细胞 B.白蛋白 C.球蛋白 D.网织红细胞 E.血小板 21.某患者血液检查结果为:MCV76fl,MCH24pg,MCHC290g/L,应属于: A.大细胞性贫血 B.正常细胞性贫血 C.小细胞低色素性贫血 D.单纯小细胞性贫血 E.正常人 22.镜下血尿是指尿中红细胞数: A.>2个/HP B.>3个/HP C.>4个/HP D.>5个/HP E.>7个/HP 23.正常尿液中偶见: A.透明管型 B.脂肪管型 C.颗粒管型 D.白细胞管型 E.腊样管型 24.正常人尿比重为 A.1.010 B.1.015~ 1.025 C.1.020 D.1.015 E.1.025~1.035 25.少尿是指24小时尿量小于 A.100ml B.400ml C.600ml D.800ml E.1000ml 26.下列哪项是肾性少尿的原因: A.肾动脉血栓形成 B.休克 C.急性肾炎 D.重度失水 E.前列腺肥大 27.多尿是指24小时尿量多于: A.1000ml B.1500ml C.2000ml D.2500ml E.3000ml 28.酱油色尿易见于 A.血友病 B.膀胱炎 C.肾盂肾炎 D.蚕豆病 E.缺铁性贫血 29.病人尿中出现哪种管型,首先考虑急性肾盂肾炎 A.白细胞管型 B.蜡样管型 C.脂肪管型 D.上皮细胞管型 E.红细胞管型 30..振荡尿液后,尿液泡沫呈黄色见于 A.药物影响 B.食用胡萝卜影响 C.尿中有血红

数据结构与算法上海第二工业大学二工大期末考试试卷

选择题: 1、在数据结构中,线性结构中元素之间存在____关系。 A: 一对一 B: 一对多 C: 多对一 D: 多对多 2、数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的____和运算等的学科。 A: 结构 B: 关系 C: 操作 D: 算法 3、算法分析的两个主要方面是____。 A: 空间复杂度和时间复杂度 B: 正确性和简明性 C: 可读性和文档性 D: 数据复杂性和程序复杂性 4、顺序表中逻辑上相邻的节点其物理位置也____。 A: 一定相邻 B: 不必相邻 C: 按某种规律排列 D: 无要求 5、在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行____。 A: s->next=p->next; p->next=s; B: p->next=s->next; s->next=p; C: q->next=s; s->next=p; D: p->next=s; s->next=q; 6、一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是____。 A: edcba B: decba C: dceab D: abcde 7、循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是____。 A: (rear-front+m)%m B: rear-front+1 C: rear-front-1 D: rear-front 8、关于空格串,下列说法中正确的有____。 A: 空格串就是空串

B: 空格串是零个字符的串 C: 空格串的长度为零 D: 空格串的长度就是其包含的空格个数 9、数组A中,每个元素A的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[8][5]的起始地址为____。A: SA+140 B: SA+144 C: SA+222 D: SA+225 10、对于一棵满二叉树,m个树叶,n个节点,深度为h,则____。 A: n=h+m B: h+m=2n C: m=h-1 D: n=2h-1 11、具有65个结点的完全二叉树其深度为____。(根的层次号为1) A: 8 B: 7 C: 6 D: 5 12、满二叉树____二叉树。 A: 一定是完全 B: 不一定是完全 C: 不是 D: 不是完全 13、将一棵有100个节点的完全二叉树从上到下,从左到右依次对节点进行编号,根节点的编号为1,则编号为49的节点的左孩子编号为____。 A: 99 B: 98 C: 50 D: 48 14、如果T2是由森林T转换而来的二叉树,那么T中结点的后序遍历就是T2中结点的____。A: 先序遍历 B: 中序遍历 C: 后序遍历 D: 层次遍历 15、将递归算法转换成对应的非递归算法时,通常需要使用____。 A: 栈 B: 队列 C: 链表 D: 树 16、如果某二叉树的前序为stuwv,中序为uwtvs,那么该二叉树的后序为____。 A: uwvts B: vwuts C: wuvts

软件学院数据结构与算法分析期末试题(2006级B)

四川大学期末考试试题 (2007-2008学年第1学期) 课程号:课程名称:数据结构与算法分析(B卷)任课教师:适用专业年级:06级软件工程学号:姓名: (1)The primary purpose of most computer programs is a) to perform a mathematical calculation. b) to store and retrieve information. c) to sort a collection of records. d) all of the above. (2)Assume that P contains n elements. The number of sets in the powerset of P is a) n b) n^2 c) 2^n d) 2^n - 1 e) 2^n + 1 (3)Pick the growth rate that corresponds to the most efficientalgorithm as n gets large: a) 5n b) 20 log n c) 2n^2 d) 2^n (4)A sequence has the following properties: a) May have duplicates, element have a position. b) May have duplicates, elements do not have a position. c) May not have duplicates, elements have a position. d) May not have duplicates, elements do not have a position.

数据结构与算法分析实验报告

《数据结构与算法分析》实验报告 姓名学号_ _____ __年 __月__ __日 1.上机题目:以静态链表为存储结构,编写给定权值 {7,19,2,6,32,3}构造哈夫曼树的算法。(输出以存储结构表示或以树型显示(90度旋转)) 2.需求分析 (1)输入数据必须为int的整形数据,其数值范围为:-~47 (2)输出的数据格式为:%d (3)测试数据的数据为:{7,19,2,6,32,3} 3.详细设计 (1)该程序采用顺序表的存储结构,其数据结构定义如下:#define n 6 #define m 2*n-1 #define max 100typedef struct {int data; int lchild,rchild,prnt; }hufmtree; 所用数据类型中每个操作的伪码算法如下: 创建哈夫曼树 Program hufm(hufmtree t[m]) FOR i=0;i

p1=0;p2=0; small1=max;small2=max FOR j=0;j<=i-1;j++ TO IFt[j].prnt?=0 IF(t[j].data

相关主题
文本预览
相关文档 最新文档