数据结构综合题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据结构综合题。有一个长度为11的有序表(1,2,11,15,24,28,30,56,69,70,80),元素的下标依次为:1,2,3,……,11,按折半查找对该表进行查找。(1)画出对上述查找表进行折半查找所对应的判定树。(2)说出成功查找到元素56,需要依次经过与哪些元素的比较?(3)说出不成功查找元素72,需要进行元素比较的次数?(1)以3,4,5,8,9,作为叶结点的权,构造一棵哈夫曼树。(2)给出相应权重值叶结点的哈夫曼编码。(2)n个叶结点的哈夫曼树,总共有多少个结点?(1)一组记录的关键字序列为(57,90,67,50,51,56),利用堆排序(堆顶元素是最小元素)的方法建立初始堆(要求以完全二叉树描述)。(2)对关键字序列(56,51,71,54,46,106)利用快速排序,以第一个关键字为分割元素,给出经过一次划分后结果。(3)一组记录的关键字序列为(60,47,80,57,39,41,46,30),利用归并排序的方法,分别给出(1,1)归并、(2,2)归并、(4,4)归并的结果序列。(1)设有数据集合{40,29,7,73,101,4,55,2,81,92,39},依次取集合中各数据构造一棵二叉排序树。(2)在上述二叉排序树上进行查找,给出成功查找到元素92的查找路径,其中共经过了多少次元素间的的比较。(3)有一个长度为10的有序表,按折半查找对该表进行查找,给出在等概率情况下查找成功的平均比较次数为。(1)以2,3,4,7,8,9作为叶结点的权,构造一棵哈夫曼树。(2)给出相应权重值叶结点的哈夫曼编码。(3)一组记录的关键字序列为(47,80,57,39,41,46),利用堆排序的方法建立的初始堆(堆顶元素是最小元素,以树的形式给出)。(1)一组记录的关键字序列为(36,69,46,28,30,35),给出利用堆排序(堆顶元素是最小元素)的方法建立的初始堆(要求以完全二叉树描述)。(2)对关键字序列(36,69,46,28,30,74)采用快速排序,给出以第一个关键字为分割元素,经过一次划分后的结果。(3)设有数据集合{30,73,101,4,8,9,2,81},依次取集合中各数据构造一棵二叉排序树。(1)已知某二叉树的后序遍历序列是debca,中序遍历序列是dbeac,试画出该二叉树。(2)若上述二叉树的各个结点的字符分别代表不同的整数(其中没有相等的),并恰好使该树成为一棵二叉排序树,试给出a、b、c、d、e的大小关系。(3)给出该树的前序遍历序列。(1)一组记录的关键字序列为{45,40,65,43,35,95},写出利用快速排序的方法,以第一个记录为基准得到的一趟划分的结果(要求给出一趟划分中每次扫描和交换的结果)。(2)对序列{45,40,65,43,35,95}利用直接插入排序,写出逐次插入过程(从第一个元素一直到第六个元素)。(1)设head1和p1分别是不带头结点的单向链表A的头指针和尾指针,head2和p2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表,写出其中两个关键的赋值语句(不用完整程序,结点的链域为next)。(2)单向链表的链域为next,设指针p指向单向链表中的某个结点,指针s指向一个要插入链表的新结点,现要把s所指结点插入p所指结点之后,某学生采用以下语句:p-next=s;s-next=p-next;这样做正确吗?若正确则回答正确,若不正确则说明应如何改写。(1)设根为第1层,对给定权值1,3,4,4,5,6,构造深度为5的哈夫曼树。提示:构造中当出现被选的结点值有多个相等时,可尝试不同组合,以得到要求的树的深度。(2)求树的带权路径长度。(3)用链接法存储上述哈夫曼树,结点中共有多少个指针域为空,说明理由?(4)给出对上述哈夫曼树中序遍历得到的的序列。(5)一棵哈夫曼树有n个非叶结点,构造该树共有多少个权重值?简述理由?

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功