1、 Aij=0;8. 分析下面算法(程序段),给出最大语句频度 ,该算法的时间复杂度是_ _。 ji;Aij=0;9. 分析下面算法(程序段),给出最大语句频度 ,该算法的时间复杂度是_ _。s=0;j+) for (k=0;kk+) s=s+Bijk;sum=s;10. 分析下面算法(程序段)给出最大语句频度 ,该算法的时间复杂度是_ _。i=s=0;while (sn) i+; s+=i; /s=s+i 11. 分析下面算法(程序段)给出最大语句频度 ,该算法的时间复杂度是_ _。i=1;while (imaxsize) return ERROR;va.length+;for(i=va.le
2、ngth-1;va.elemix&i=0;i-) va.elemi+1=va.elemi;va.elemi+1=x;return OK;2.试写一算法,实现顺序表的就地逆置,即利用原表的存储空间将线性表(a1, a2,. an)逆置为(an, an-1,., a1)。void reverse(int a, int size) int i,j,tmp; for(i=0, j=size-1; ij; i+,j-) tmp=ai; ai=aj; aj=tmp; 3. 已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试写一算法,删除表中所有大于x且小于y的元素(若表中存在这样的元素)同时释放
3、被删除结点空间。void del(LinkList L,elemtype a,elemtype b)p= L;q=p.next;while(q!=L & q.data0)个结点的满二叉树共有_个叶子和_个非终端结点。8. 结点最少的树为_,结点最少的二叉树为_。9. 现有按中序遍历二叉树的结果为abc,问有_种不同形态的二叉树可以得到这一遍历结果,这些二叉树分别是_。10. 由如图6.7所示的二叉树,回答以下问题: 其中序遍历序列为_; 其前序遍历序列为_; 其后序遍历序列为_;6.3 简答题1. 根据二叉树的定义,具有三个结点的二叉树有5种不同的形态,请将它们分别画出。2. 假设一棵 二叉树
4、的先序序列为EBADCFHGIKJ和中序序列为ABCDEFGHIJK。请画出该树。3. 由如图6.7所示的二叉树,回答以下问题:(1)画出该二叉树的中序线索二叉树;(2)画出该二叉树的后序线索二叉树;(3)画出该二叉树对应的森林。4. 已知一棵树如图6.8所示,转化为一棵二叉树,表示为_。5. 以数据集4,5,6,7,10,12,18为结点权值,画出构造Huffman树的每一步图示,计算其带权路径长度为。6. 一棵含有N个结点的k叉树,可能达到的最大深度和最小深度各为多少?7. 证明:一棵满k叉树上的叶子结点数n和非叶子结点数n之间满足以下关系: n=(k-1)n+16.4 算法设计题1. 编
5、写按层次顺序(同一层自左至右)遍历二叉树的算法。2试编写算法,对一棵二叉树,统计叶子的个数。3试编写算法,对一棵二叉树根结点不变,将左、右子树进行交换,树中每个结点的左、右子树进行交换。7. 假设用于通讯的电文仅有八个字母(a,b,c,d,e,f,g,h)组成,字母在电文中出现的频率分别为0.07, 0.19, 0.02, 0.06, 0.32, 0.03, 0.21, 0.10。试为这八个字母设计哈夫曼编码。使用0-7的二进制表示形式是另一种编码方案。对于上述实例,比较两种方案的优缺点。8. 试编写算法,对一棵以孩子-兄弟链表表示的树统计叶子的个数。假设一棵 二叉树的先序序列为EBADCFHGIKJ和中序序列为ABCDEFGHIJK。6.1 1. B 2. B 3. C 4. C 5. C 6.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1