课程________________________班级________________________姓名__________________________学号________________________
……………………………… 密 ……………………………… 封 ………………………………… 线 ………………………………
安 徽 工 业 大 学 工 商 学 院 试 题 纸(一)
题号 | 一 | 二 | 三 | 四 | 五 | 六 | 七 | 八 | 九 | 十 | 十一 | 十二 | 十三 | 十四 | 十五 | 十六 | 十七 | 十八 | 十九 | 二十 | 总 分 |
得分 |
一、单选题(每小题1分,共10分)
1、 在长度为n的顺序表的第i个位置上插入一个元素(1≤ i ≤n+1),元素的移动次数为( )
A) n – i + 1 B) n – i C) i D) i – 1
2、若进栈序列为a, b, c,则通过入出栈操作可能得到的a, b, c的不同排列个数为( )
A) 4 B) 5 C) 6 D) 7
3、将一棵有100个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点编号为1,则编号最大的非叶结点的编号为( )
A)48 B)49 C)50 D)51
4、 在有n个叶子结点的哈夫曼树中,其结点总数为 ( )
A)不确定 B)2n C)2n+1 D)2n-1
5、任何一个无向连通图的最小生成树 ( )
A)只有一棵 B)有一棵或多棵 C)一定有多棵 D)可能不存在
6、在顺序表 ( 3, 6, 8, 10, 12, 15, 16, 18, 21, 25, 30 ) 中,用折半法查找关键码值11,所需的关键码比较次数为( )
A) 2 B) 3 C) 4 D) 5
7、广义表( a, ( b ), ( ( c ) ) ) 的表尾是( )
A) ( ( c ) ) B) ( ( ( c ) ) ) C) ( c ) D) ( ( b ), ( ( c ) ) )
8、下面关于串的叙述中,哪一个是不正确的 ( )
A) 串是字符的有限序列 B) 空串是由空格构成的串
C) 模式匹配是串的重要运算 D) 串既可顺序存储,也可采用链式存储
9、在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是( )
A)p=p->next; B)p->next=p->next->next;
C)p->next=p; D)p=p->next->next;
10、已知一组关键字为{25,48,36,72,79,82,23,40,16,35},其中每相邻两个为有序子序列。对这些子序列进行一趟两两归并的结果是( )
A){25,36,48,72,23,40,79,82,16,35} B){25,36,48,72,16,23,40,79,82,35}
C){25,36,48,72,16,23,35,40,79,82} D){16,23,25,35,36,40,48,72,79,82} | ||||||||||
……………………………… 装 ……………………………… 订 ………………………………… 线 ……………………………… 课程________________________班级________________________姓名__________________________学号________________________ ……………………………… 密……………………………… 封 ………………………………… 线 ……………………………… 安 徽 工 业 大 学 工 商 学 院 试 题 纸(二) 二、填空题(每空1分,共12分) 1. 通常是以算法执行所耗费的 和所占用的 来判断一个算法的优劣。 2.已知二维数组A[10][20]采用行序优先方式存储,每个元素占2个存储单元。并且A[0][0]的存储地址是1024, 则A[6][18]的地址是 3.用带头结点的循环链表表示的队列,若只设尾指针rear, 则队空的条件是 。 4. 向一个有n个元素的有序表中插入一个新元素并保持原来顺序不变,平均要移动 个元素。 5.10000个结点构成的二叉排序树,在等概率查找的假设下,查找成功时的平均查找长度的最大值可能达到________________。 6.高度为h的完全二叉树最少有 个结点。 7.对某二叉树进行前序遍历的结果为EBADCFHGIKJ,中序遍历的结果为ABCDEFGHIJK,则后序遍历的结果为________________ 。 8.线性结构中元素之间存在________关系,树形结构中元素之间存在________关系,图形结构中元素之间存在________关系。 9.在一棵二叉树中,假定双分支结点数为10个,单分支结点数为11个,则叶子结点数为 个。 三、判断题(每题1分,共10分) ( )1. 在单链表中,头结点是必不可少的。 ( )2. 在一个大根堆中,最小元素不一定在最后。 ( )3. 顺序存储结构只能存线性结构,链式存储结构只能存非线性结构。 ( )4. 在有向图中,所有顶点的入度之和等于所有顶点的出度之和。 ( )5. 内部排序是指排序过程在内存中进行的排序。 ( )6. 拓扑排序是指结点的值是有序排列。 ( )7. AOE网所示工程至少所需时间等于从源点到汇点最长路径长度。 ( )8. 二叉排序树或是一棵空树,或是具有下列性质的二叉树: 若它的左子树非空,则根结点的值大于其左孩子的值; 若它的右子树非空,则根结点的值大于其右孩子的值。 ( )9. 分块查找的特点是块内可无序,块间要有序。 ( )10. 快速排序的枢轴元素可以任意选定。 四、应用题(每题8分,共40分) 1.设哈希函数H(K)=(K的第一字母在字母表中的序号)% 11 ,哈希表长度为11,若输入顺序为(D,BA,TN,M,CI,I,K,X,TA),处理冲突方法为线性探测再散列法,要求构造哈希表,并求出等概率情况下查找成功平均查找长度。 2.假设用于通信的电文由10个字母组成,字母A,B,C,D,E,F,G,H,I,J的使用频率分别为5%,12%,4%,7%,9%,12%,10%,8%,13%,20%试为这10个字符设计哈夫曼编码,并计算带权路径长度。 3.给定一组关键码{18,31,16,22,51,30,24,10},请建大根堆。 4.已知带权的无向图的邻接矩阵如下,画出该图及其最小生成树。 | ||||||||||
……………………………… 装 ……………………………… 订 ………………………………… 线 ……………………………… 课程________________________班级________________________姓名__________________________学号________________________ ……………………………… 密……………………………… 封 ………………………………… 线 ……………………………… 安 徽 工 业 大 学 工 商 学 院 试 题 纸(三) 5. 填空完成下面一趟快速排序算法: int QKPass ( RecordType r [ ], int low, int high) { x = r [ low ]; while ( low < high ) { while ( low < high && r [ ]. key >= x.key ) high - -; if ( low < high ) { r [ ] = r [ high ]; low++; } while ( low < high && r [ ]. key < x. key ) low++; if ( low < high ) { r [ ] = r [ low ]; high--; } } r [ low ] = x; return low ; } 五、算法设计题( 28分) 1.假设有一个长度大于1的循环单链表,表中既无头结点也无头指针。已知S为指向链表中某个结点的指针,试编写算法,在链表中删除指针S指向的结点。( 8分) 结点类型: typedef struct node { datatype data; struct node *next; }LNode , *LinkList; 2.编写一个建立二叉树的算法,要求采用二叉链表存储结构。( 8分) 二叉树结点类型: typedef struct bnode { datatype data; struct bnode *lchild, *rchild; }BNode , *BTree; 3. 二叉排序树T用二叉链表表示,其中各元素值均不相同。 (1) 写递归算法,按递增顺序输出各元素的值(5分)。 (2) 写出完成上述要求的非递归算法。(7分) 二叉排序树结点类型: typedef struct BinSTreeNode { datatype data; struct BinSTreeNode *lchild, *rchild; } *BinSTree; | ||||||||||
……………………………… 装 ……………………………… 订 ………………………………… 线 ……………………………… 课程________________________班级________________________姓名__________________________学号________________________ ……………………………… 密……………………………… 封 ………………………………… 线 ……………………………… 安 徽 工 业 大 学 工 商 学 院 答 题 纸(一) 一、单选题(每小题1分,共10分) 题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
答案 |
1. , 2.
3. 4. 5. __________________
6. 7.
8. , , 9.
三、判断题(每小题1分,共10分)
题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
答案 |
四、应用题(每题8分,共40分) |