题目 题型
已知一棵树边的结点为 { ( I,M ),( I,N ),( E,I ),( B,E ),( B,D ),( C,B ),( G,J ),( G,K ),( A,G ),( A,F ),( H,L ),( A,H ),( C,A ) } ,试画出这棵树,并回答下列问题:( 1 )哪个是根结点?( 2 )哪些是叶子结点?( 3 )树的深度是多少? 问答
假设用于通讯的电文仅由 8 个字符组成,字母 A,B,C,D,E,F,G,H 在电文中出现的频率分别为 9 , 19 , 5 , 7 , 25 , 21 , 11 , 3 。试为这 8 个字母设计哈夫曼编码。 注意:最小元素做左子树,次小元素做右子树。否则按错误处理。 问答
假设一棵二叉树的层次序列为 ABCDEFGHIJ ,前序列为 ABDEGHJCFI ,中序列为 DBGEHJACIF ,请画出这棵二叉树。(须给出构建过程) 问答
根据序列( 48 , 70 , 33 , 65 , 24 , 56 , 12 , 92 , 86 , 35 )建立一棵二叉排序树,求查找成功的平均查找长度。 问答
对如下所示有向图,试求: ( 1 )邻接矩阵;( 2 )邻接表;( 3 )强连通分量;( 4 )从⑥出发的广度优先遍历序列。 注意:当有多个顶点可选择时,先选择编号小的节点。建立邻接表时采用尾插法 问答
对如下所示无向图, (1) 从顶点A出发,求它的深度优先生成树; (2) 从顶点E出发,求它的广度优先生成树; (3) 根据普里姆(Prim)算法或者克鲁斯卡尔算法,求它的最小生成树。 注意:当有多个顶点可选择时,先选择编号小的节点 问答
什么是AOE网?求出下图所示AOE网中的关键路径(要求标明每一个顶点的最早发生时间和最迟发生时间,并画出关键路径)。 问答
请画出如图所示的有向图的拓扑排序栈的变化状态。 注意:当有多个顶点可选择时,先选择编号小的节点入栈。 问答
已知非空线性链表第一个结点由表头结点list指出,请写一算法,交换p所指的结点与其下一个结点在链表中的位置(设p指向的不是链表最后的那个结点)。 问答
请利用两个栈s1和s2来模拟一个队列。已知栈的三个运算定义如下。PU3H(ST,x):元素x入ST栈;PoP(ST,x):ST栈项元素出栈,赋给变量x;Sempty(ST):判ST栈空否。那么如何用栈的运算来实现该队列的三个运算:enqueue:插入一个元素入队列;dequeue:删除一个元素出队列;queue_empty:判队列为空。(请写明算法的思想及必要的注释) 问答
已知first为单链表的表头指针,结点结构为(data,link),试根据下列每个函数声明和算法功能写出递归算法和非递归算法。 int Num(LinkNode *f); // 求链表中结点个数 问答
二叉树的二叉链表类型定义如下,写出二叉树的叶子节点数的递归算法和非递归算法。 问答
以下数据结构中,属于线性结构的是( ) 单选
用二分法查找表 (a0,a1,a2,a3,……a16) ,需要比较 2 次才能找到的元素是( ) 单选
用概率查找改进查找效率,是经过多次查找以后使得( ) 单选
二分查找要求元素 ( ) 单选
已知 pPre 为指向链表中某结点的指针, pNew 是指向新结点的指针,以下哪段伪码算法是将一个新结点插入到链表中 pPre 所指向结点的后面?( ) 单选
在递归算法执行过程中,计算机系统必定会用到的数据结构是( ) 单选
一个队列的入列序为 ABCD ,则队列的可能输出序列为( ) 单选
具有 10 个叶子结点的二叉树中有( )个度为 2 的结点 单选