问答题某网络中的路由器运行0SPF路由协议,下表是路由器R1维护的主要链路状态信息(LSI),下图是根据下表及R1的接口名构造出来的拓扑网络。请回答下列问题。
问答题对于一个长度为m=41的散列表,采用双散列法解决冲突,对于关键字k
1
,k
2
,k
3
,若h(k
1
)=30,h(k
2
)=28,h(k
3
)=19,h
2
(k
1
)=14,h
2
(k
2
)=27,h
2
(k
3
)=35,则k
1
,k
2
,k
3
的探测序列中前4个位置各为多少。
问答题设T和P是两个给定的串,在T中寻找等于P的子串的过程称为(1),又称P为(2)。【西安电子科技大学1998二、5(16/6分)】
问答题循环单链表的最大优点是:__________。【福州大学1998二、3(2分)】
问答题分别给出满足下列条件的二叉树。(1)前序和中序遍历结果相同;(2)前序和中序遍历结果不相同而是相反;(3)中序和后序遍历结果相同;(4)前序和后序遍历结果相同。【四川大学2004】【烟台大学2007四、2(8分)】
问答题用邻接矩阵表示图时,矩阵元素的个数与顶点个数是否相关?与边的条数是否有关? 【西安电子科技大学2000计算机应用一、6(5分)】
问答题设图用邻接表表示,写出求从指定顶点到其余各顶点的最短路径的Dijksua算法。要求:(1)对所用的辅助数据结构,邻接表结构给以必要的说明;(6分)(2)写出算法描述。(C,类Pascal,类C均可)(14分)【南京理工大学1996四、1(20分)】
问答题设计算法求中序线索二叉树中指针P所指结点的前驱结点的指针。【东南大学2004五 (10分)】
问答题表示一个有1000个顶点、1000条边的有向图的邻接矩阵有多少个矩阵元素?该矩阵是否为稀疏矩阵?【厦门大学2006三、2(25/3分)】
问答题用类C/C++设计算法,判断一个带表头结点的双向循环链表DL(DuIJnkList)是否对称相等。 (比如,表(25,34,34,25)和表(25,3,25)为对称的。)【南京理工大学2005三(5分)】其中结点结构为:struct Node{E1emType data; //ElemType代表某种抽象数据类型Node*Llink, *R1ink;};
问答题如何通过改链的方法,把一个单向链表变成一个与原来链接方向相反的单向链表? 【中国人民大学2001二、4(2分)】
问答题127阶B一树中每个结点最多有(1)个关键字;除根结点外所有非终端结点至少有(2)棵子树;65阶B+树中除根结点外所有结点至少有(3)个关键字;最多有(4)棵子树;【北方交通大学1999二、5(4分)】
问答题在双向循环链表中,向p所指的结点之后插入指针入所指的结点,其操作是__________、__________、__________、__________。【中国矿业大学2000一、1(3分)】
问答题写算法将单链表L1拆成两个链表,其中以L1为头的链表保持原来向后的链接,另一个链表的头为L2,其链接方向与L1相反,L1包含原链表的奇数序号的结点,L2包含原链表的偶数序号的结点。【东华大学2004三(10分)】
问答题用有向无环图表示只含二元运算的算术表达式,可共享公共子表达式,设用邻接表存储算术表达式的有向无环图,每个操作数都用单个字母表示。试写出邻接表的类型定义;编写输出算术表达式的逆波兰表达式(后缀表达式)的算法(请写明算法的基本思路,并在算法的主要步骤上加注释)。【北京理工大学2002 8.2(7分)】
问答题5阶B+树,最少能存储多少个关键字,最多能存储多少个关键字?
问答题画出对算术表达式A-B*C/D-E↑F求值时,操作数栈和运算符栈的变化过程。【东南大学2000一、3(6分)】
问答题一个长度为L(L≥1)的升序序列S,处在第[L/2]个位置的数称为S的中位数。例如列S1=(11,13,15,17,19),则S1中的中位数是15。两个序列的中位数是含它们所有元素的升序序列的中位数。例如,若92=(2,4,6,8,20),则.S1和S2的中位数是11。现有两个等长升序序列A和B,试设计一个在时间和空间两方面都尽可能高效的算法,找出两个序列A和B的中位数。要求:(1)给出算法的基本设计思想。(2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。(3)说明你所设计算法的时间复杂度和空间复杂度【2011年全国试题42(15)分】
问答题二叉树按某种顺序线索化后,任一结点均有指向前驱和后继的线索,这种说法是正确的么?__________【南京理工大学2005二、9(1分)】
问答题阅读下列算法,说明程序功能,并用图示输出执行后的结果。
#include
#include
#define n 7
typedef struct Node{char data;struct Node*Lc,*Rc;)Node,*BiNode;
void unknowm(BiNode t,int i,char*a)
{t=(Node*)malloc(sizeof(Node));
t一>data=a[i];
if(2*iLc,2*i,a);
else t一>Lc=NULL;
if(2*i+1Rc, 2*i+1, a);
else t一>Rc=NULL;
)
void main()
{char a[7]; a[1].‘a’;a[2]=。b’;a[3]="c"; a[4]=‘d’;a[5]="e";a[6]=‘f’;
BiNode P;int j=1;
unknown(p,J,a);
}
【北京交通大学2005六、2(8分)】