1、进一步掌握指针变量、动态变量的含义。 2、掌握二叉树的结构特性,以及各种存储结构的特点和适用范围。 3、掌握用指针类型描述、访问和处理二叉树的运算。 二、 实验任务 1、 以二叉链表作存储结构,编写前序、中序、后序及层次顺序遍历二叉树的算法。 2、 以二叉链表作存储结构,编写计算二叉树深度、所有结点总数、叶子结点数、双孩子结点个数、单孩子结点个数的算法 三、 实验重点、难点 1、前序、中序、后序及层次顺序遍历二叉树的算法。 2、计算二叉树深度、所有结点总数、叶子结点数、双孩子结点个数、单孩子结点个数的算法。 |
四、 实验内容 任务一:以二叉链表作存储结构,编写前序、中序、后序及层次顺序遍历二叉树的算法。 #include "stdafx.h" #include <stdio.h> #include<malloc.h>
#include<stdio.h> #define M 10 typedef int DataType;/*元素的数据类型*/ typedef struct node { DataType data; struct node *lchild,*rchild; }BitTNode,*BiTree; int front=0,rear=0; BitTNode *que[10]; BitTNode *creat() { BitTNode *t; DataType x; scanf("%d",&x); if(x==0) t=NULL; else{ t=(BitTNode *)malloc(sizeof(BitTNode)); t->data=x; t->lchild=creat(); t->rchild=creat(); } return(t); }/*creat*/ /* 前序遍历二叉树t */ void preorder(BiTree t) { if(t!=NULL) { printf("%4d",t->data);< |
数据结构——二叉树的基本操作
最新推荐文章于 2024-07-25 08:55:54 发布
本文深入探讨了数据结构中的二叉树,包括其基本概念、常见操作如插入、删除和搜索,以及如何通过结构体(struct)实现二叉树节点。此外,还讨论了二叉树在算法和存储中的应用。
摘要由CSDN通过智能技术生成