码迷,mamicode.com
首页 > 其他好文 > 详细

第五章学习小结

时间:2020-05-31 12:40:06      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:根据   mic   特殊   pre   图片   错误   构造   存储结构   info   

这一章学习了树的定义、二叉树的性质和存储结构、树和森林的转化、遍历等,以及哈夫曼树的概念和构造算法

首先是树的一些定义和性质,刚开始接触时还是比较懵的,对一些术语不太熟悉,对性质也不太理解,后面在几次计算题的运用过程中才逐渐掌握。

然后是树的存储结构

树的存储结构是建立在前几章的基础上的,有多种表示方法,非常灵活,可以根据不同的需要选择合适的结构

技术图片技术图片技术图片

 

对于二叉树,要实现先序、中序、后序遍历,可以用二叉链表表示法

 1 typedef struct bitnode//二叉链表
 2 {
 3     char data;
 4     struct bitnode *left, *right;
 5 }bitnode, *bitree;

在一些情况下,用顺序存储更加简便

 1 typedef struct node
 2 {
 3     char data;
 4     int lchild;
 5     int rchild;
 6 }node;
 7 
 8 typedef struct
 9 {
10     node data[10];
11     int r;
12 }tree;

在其他特殊的树中,还可以使用数组和链表相结合的方式进行存储。

通过对树的学习,也更深入了解了递归的应用,在树的操作过程中很多重复操作都是要通过递归实现的,比如二叉链表的遍历

void inordertraverse(bitree t)//中序遍历
{
     if(t)
     {
        inordertraverse(t->left);
        cout<<t->data;
        inordertraverse(t->right);
     }
}

在pta的实践1中,通过树的层次遍历则更深入接触了队列的应用,对队列的操作有了进一步的认识

 

在做这周的pta作业实践1时做了很久没做出来,看了spoc里的教程才懂,学到了新的方法

这周的小组任务依然完成得不是很好,最开始出现了段错误卡了很久,问题是出在maxsize上,因为循环是从1开始不是从0开始,所以maxsize的值要+1,没注意到这个问题。此外,又再一次漏掉了释放内存,吸取这次的教训,以后写代码多注意内存的问题,避免再出现这种错误。

 

第五章学习小结

标签:根据   mic   特殊   pre   图片   错误   构造   存储结构   info   

原文地址:https://www.cnblogs.com/nzgfs/p/12997037.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!