集体玩我心态

上一集,Small Code King使用了pqBFS缠住了我,又使用传送门来秀了我一脸,我自信心暴跌。

没看的还不赶紧去看一看?顺便点个三连。https://blog.csdn.net/weixin_43417464/article/details/115271713

虽然自信心不太OK了,但是今天下午的信息课还是要上啊。

有些读者就想问了,“你这信息课是怎么了?一个星期,还是同一天,两节课啊?哪个培训机构啊,我去蹭一蹭

这可不一样,上一次是SCK(干脆改成Small International Code King算了,SICK。。。)的课,这下不一样了,这是———

#include<bits/stdc++.h>
using namespace std;
int main(){
    char c[4]="学而思";reverse(c,c+3);
    for(int i=0;i<4;i++) cout<<c[i];
    return 0;
}

英文缩写:TAL(Think And Learn),思而学的

qswl,这才结束BFS的洗礼,又上我最头疼的TREE!

首先,是树的概念,就是一个节点分叉成一堆节点,这些节点又分叉,具体的概念可以点进去https://baike.baidu.com/item/%E6%A0%91/2699484#viewPageContent

概念有亿点多,仔细看。

中间有一点说到了:

遍历表达法

遍历表达法有4种方法:先序遍历中序遍历后序遍历、层次遍历

例如上图:

先序遍历(又称先根遍历)为ABDECF(根-左-右)

中序遍历(又称中根遍历)为DBEAFC(左-根-右)(仅二叉树有中序遍历

后序遍历(又称后根遍历)为DEBFCA(左-右-根)

其层次遍历为ABCDEF(同广度优先搜索

根,就是当前这棵树(也许在一棵大树中,也许自己就是大树的全部)的根节点。

左,就是当前这棵树左边的子树,就是左子树

右,就是当前这棵树右边的子树,就是右子树

应该能懂了吧,还有,就是在一般情况下,只需两种遍历方式即可确定一棵树。

(这个技能需要练)

但是,这可恶的PAL偏偏就不给练的时间,直接用概念来讲用编程解决的方法。

好吧,我尽力了,几种遍历的输出我总结出来了

//直接跳过建树的过程
typedef struct Node;
typedef Node *tree;
struct Node{
    char data;
    tree lchild,rchild;
};
tree bt;
void preorder(tree bt){//先序
    if(bt){
        cout<<bt->data;
        preorder(bt->lchild);
        preorder(bt->rchild);
    }
}
void inorder(tree bt){//中序
    if(bt){
        inorder(bt->lchild);
        cout<<bt->data;
        inorder(bt->rchild);
    }
}
void postorder(tree bt){//后序
    if(bt){
        postorder(bt->lchild);
        postorder(bt->rchild);
        cout<<bt->data;
    }
}
//总结辛苦,三连请苦

再推荐一道题练练手,下星期必出下集http://ybt.ssoier.cn:8088/problem_show.php?pid=1340

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值