数据结构-第五章 学习小结

一、学习小结

第五章学得有点懵懵的,递归也是不太会用,感觉还没开始就已经结束了(晕.jpg),下面是我整理的本章的思维导图:

数据结构-第五章 学习小结_第1张图片

下面是有时会混、会乱的先序遍历、中序遍历、后序遍历和层次遍历(以课堂习题为例):

数据结构-第五章 学习小结_第2张图片数据结构-第五章 学习小结_第3张图片

二、作业和讨论:

PTA:

PTA上有两道老师有录视频教我们这么写,我也是看着视频,然后再自己复现一遍。同时借着这两道题了解树的一些应用,就不会感觉不知道自己在学一些说明。

其中一道List Leaves一开始样例还老是错,自己也找不出错误,最后舍友如如帮我找出错误点,原来复制粘贴的时候左右子树的变量没改过来,真是太粗心了......

另一个是“树的同构”,题目看着也很复杂、很难搞的样子,在宿舍大佬们的思路指点下,慢慢打出来

讨论:

小组成员都好棒哦,感觉每次自己出力不足,哎,我会好好努力跟上你们的脚步的!

这次的讨论也让我觉得数组申请的空间一点要谨慎,不然段错误真的很让人头疼,明明算法正确,就因那一个数字之差与成功失之交臂。

三、易错点:

(1)

//这样是错的
typedef struct
{
    int child;
    CNode *next; 
}CNode;

//正确的写法
typedef struct CNode
{
    int child;
    CNode *next; //struct 后面要有CNode的命名才可以这样
}CNode;

(2)

#define MAXTSIZE 100
typedef struct
{
    char data;
    int parent;
}TElemType;
typedef TElemType SqBiTree[MAXTSIZE];
typedef TElemType SqBiTree[MAXTSIZE];

其作用是定义了一个新类型,名字为SqBiTree,其本质是一个数组,数组元素类型是TElemType,长度为MAXTSIZE。

(3)

typedef struct
{
    ......
}BiTNode;
int n;
cin >> n;
BiTNode *BiTree=new BiTNode[n];
//正确;为指针BiTree在堆申请空间,长度为n;首地址传给BiTree;

int n;
cin >> n;
int a[n];
//错误;定义数组是,数组长度为变量,C语言正确,但C++不支持;(如果正确的话,应该是栈空间)

四、下阶段目标:

下一章看起来好像也蛮难的样子,跟上脚步,好好学习!

你可能感兴趣的:(数据结构-第五章 学习小结)