栈队列练习题
完成第六题的分析
答:第一个是e2,那么e1肯定在栈中,然后是e4,这样,e1,e3,e4一定要同时在栈中,才能保证e4出栈,然后e3出栈,这时栈中只有e1,然后是e6,这样,必须要保证e1,e5,e6同时在栈中,随是e5、e1出队
因此容量最小是3,选c
哈希冲突处理实践
把自己的学号加21,例如学号为1,把22添加到序列后面,使用链地址法,解决冲突。
编程实现,并测试。
要求计算asl,输出冲突次数
哈夫曼编码
设有字符集:S={a,b,c,d,e,f,g,h,i,j,k,l,m,n.o.p.q,r,s,t,u,v,w,x,y,z}。
给定一个包含26个英文字母的文件,统计每个字符出现的概率,根据计算的概率构造一颗哈夫曼树。
并完成对英文文件的编码和解码。
要求:
(1)准备一个包含26个英文字母的英文文件(可以不包含标点符号等),统计各个字符的概率
(2)构造哈夫曼树
(3)对英文文件进行编码,输出一个编码后的文件
(4)对编码文件进行解码,输出一个解码后的文件
(5)撰写博客记录实验的设计和实现过程,并将源代码传到码云
(6)把实验结果截图上传到云班课
层次遍历法
(1)使用递归实现层次遍历背部疼痛决策树,并按照层次顺序输出每个节点内容。(2分)
(2)非递归的层次遍历法算法如下:
根结点入队;
从队头取元素, 并执行如下3个动作:
(1)访问该结点;
(2)如果该元素有左孩子,则左孩子入队;
(3)如果该元素有右孩子,则右孩子入队;
重复执行上述过程,直至队列为空。 此时,二叉树遍历结束。
按照上述算法,编程实现层序遍历,按照层序的方法,遍历并依次输出每个节点内容。(3分)