问答题有人说,采用折半查找法一定比采用顺序查找法的时间效率高,你认为如何?请说明你的理由。
问答题对于一个有序顺序表来说,折半查找是否任何时候都比顺序查找快?为什么?【上海交通大学2005三(6分)】
问答题请编程实现由键盘输入你的名字(拼音名),并把它显示在屏幕上,在你的名字两端各有三个“*”号。示例:***LIMING***。
问答题请用类C或用类Pascal语言编写算法:键树,又称数字查找树。它是一棵度为≥2的树,树中的每个结点中不是包含一个或几个关键字,而是只含有组成关键字的符号。编写一个在键(trie)树T上查找关键字等于给定值KEY的记录的算法。若查找成功,返回指向该记录的指针;否则返回空指针。【上海大学2002七、2(10分)】
问答题已知链队列的头尾指针分别是f和r,则将值x入队的操作序列是__________。【合肥工业大学2000三、3(2分)】
问答题设一棵二叉树的结点定义为structBinTreeNode{ElemTypedata;BinTreeNode*leftchild,*rightchild;)现采用输入广义表表示建立二叉树。具体规定如下:(1)树的根结点作为由子树构成的表的表名放在表的最前面。(2)每个结点的左子树和右子树用逗号隔开。若仅有右子树没有左子树,逗号不能省略。(3)在整个广义表表示输入的结尾加上一个特殊的符号(例如“#”)表示输入结束。例如,对于如右图所示的二叉树,其广义表表示为A(B(G)),E(G),C(F)。此算法的基本思路是:依次从保存广义表的字符串ls中输入每个字符。若遇到的是字母(假设以字母作为结点的值),则表示是结点的值,应为它建立一个新的结点,并把该结点作为左子女(当k=1)或右子女(当k=2)链接到其双亲结点上。若遇到的是左括号“(”,则表明子表的开始,将k置为1;若遇到的是右括号“)”,则表明子表结束。若遇到的是逗号“,”,则表示以左子女为根的子树处理完毕,应接着处理以右子女为根的子树,将k置为2。在算法中使用了一个栈s,在进入子表之前,将根结点指针进栈,以便括号内的子女链接之用。在子表处理结束时退栈。相关的栈操作如下:MakeEmpty(s)置空栈Push(s,p)元素p进栈Pop(s)退栈Top(s)存取栈顶元素的函数下面给出了建立二叉树的算法,其中有5个语句缺失,请阅读此算法并把缺失的语句补上。(每空3分)VoidcreatBinTree(BinTreeNode*istreamins(1s);//把串1s定义为输入字符串流对象ins;charch;ins>>ch;//从ins顺序读入一个字符while(ch!="#"){//逐个字符处理,直到遇到.#.为止swich(ch){case"(":(1);k=1;break;case")":pop(s);break;case",":(2);break;default:p=newBinTreeNode(3);p一>leftchild=NULL;p一>rightchild=NULL;if(BT==NULL)(4);elseif(k==1)top(s)一>1eftchild=p;elsetop(s)一>rightchild=p;}(5);}}【清华大学2001六(15分)】
问答题什么是队列的上溢?怎样解决这个问题?
问答题将下列由三棵树组成的森林转换为二叉树(只要求给出转换结果)。【南京航空航天大学1998一(10分)】
问答题已知非空二叉树采用顺序存储结构,结点的数据信息依次存放于一维数组BT[O..n—1]中(假设每个结点的数据信息为一个非O整数;若数组元素值为0,则表示该元素对应的结点在二叉树中不存在)。请写一算法,生成该二叉树的二叉链表结构。
问答题广义表(O,(a),(b,(c,d)f))的深度为__________。【电子科技大学2014一、2(1分)】
问答题设一棵二叉树T采用二叉链表表示,编写一个算法,判断T是否是完全二叉树。
问答题设有浮点数,x=25×(+9/16),y=23×(-13/16),阶码用4位(含1位符号位)补码表示,尾数用5位(含1位符号位)补码表示,求真值x/y=?要求写出完整的浮点运算步骤,并要求直接用补码加减交替法完成尾数除法运算。
问答题一线性表存储在带头结点的双向循环链表中,L为头指针。对如下算法: (1)说明该算法的功能。(2)在空缺处填写相应的语句。 void unknown (BNODETP*L) (p=L一>next;q=p一>next;r=q->next; while(q!=L) {while (p!=L) && (p一>data>q一>data)p=p->prior; q一>prior一>next=r;(1) ; q一>next=p一>next;q一>prior=p; (2);(3);q=r;p=q一>prior; (4); } }【北京理工大学1999第二部分数据结构[7](8分)】
问答题已知三个字符串分别为.s=~ab…abcaabcbca…a’,s"="caab",s”=Ibcb’。利用所学字符串基本运算的函数得到结果串为:s""="caabcbca,…aca…a’,要求写出得到以上结果串s
"""
所用的函数及执行算法。【东北大学1998一、1(10分)】
问答题请写出如下程序片段中每条移位指令执行后标志CF、ZF、SF和PF的状态: MOV AL,80H SAR AL,1 SHR AL,1 ROR AL,1 RCL AL,1 SHL AL,1 ROL AL,1
问答题已知深度为h的二叉树采用顺序存储结构已存放于数组BT[1:2
h
一1】中,请写一非递归算法,产生该二叉树的二叉链表结构。设二叉链表中链结点的构造为(1child,data,rchild),根结点所在链结点的指针由T给出。【北京师范大学2005六、3(15分)】【北京航空航天大学1999七(15分)】
问答题已知矩阵求‖A‖∞,‖A‖2及cond(A)2.
问答题设计一个算法,统计一个采用邻接矩阵存储,具有n个顶点的无向无权图所有顶点的度。【天津大学2005六(10分)】
问答题线性表(a
1
,a
2
,…,a
n
)用顺序映射表示时,a
i
和a
i+1
(1≤i≤n
n
)的物理位置相邻吗?链接表示时呢?【东南大学1996一、1(5分)】
问答题下列函数是在无向图的邻接表中删除一条边的算法,请完善该程序。 V0id deledge(ALGraph*G,int i, int j) {EdgeNode*p,*q; p=G一>adj list[i].firstedge; if(①)fG一>adjlist[i].firstedge=p一>next; free(p);) else{while(p一>next一>adjvex!=j ) } p=G一>adj lis[j].firstedge ; if(p一>adjvex= =i){G一>adj list[j].firstedge=p一>12ext; free(p);) elsefwhile(p一>12ext一>adlvex!=i && p一>next) ④; if(p一>next!=null){q=p一>next;⑤;free(q);) } } 【东南大学2005数据结构部分三(10分)】
