《算法与数据结构》实验指导书
for(p=1;p<=M.tu;++p) if(M.data[p].j==col)
{ T.data[q].i=M.data[p].j; T.data[q].j=M.data[p].i; T.data[q].e=M.data[p].e; ++q; } }}
六、选作实验
用十字链表实现稀疏矩阵的相加。
实验六 二叉树的操作
一、实验目的:
1.掌握二叉树的存储实现。
2.掌握二叉树的遍历思想。
3.掌握二叉树的常见算法的程序实现。
二、实验内容:
1. 输入完全二叉树的先序序列,用#代表虚结点(空指针),如ABD###CE##F###建
立二叉树,实现先序、中序和后序以及按层次遍历序列。 2. 求所有叶子及结点总数。
二、实验要求:
1. 根据实验内容编程,上机调试、得出正确的运行程序。
2. 写出实验报告(包括源程序和运行结果)。
四、实验学时:4学时 五、实验步骤:
1.进入编程环境,建立一新文件;
2. 采用二叉树链表作为存储结构,完成二叉树的建立,先序、中序和后序以及按层
次遍历的操作;
3. 求所有叶子及结点总数的操作;
4. 编译运行程序,观察运行情况和输出结果。
5. 按程序要求输入结点的值(一个字符),`0`表示空树,生成赫夫曼树的编码。完成Huffman编码的译码过程,即输入一个码串,翻译成相应的字符串。
本算法采程序如下:
//* * * * * * * * * * * * * * * * * * * * * * * *