数据结构——树和二叉树的定义,二叉树的性质和存储结构

目录

1.树和二叉树的定义

2.树的基本术语 

 3.树结构和线性结构的比较​编辑

4.二叉树的定义 

5.案例引入 

6.二叉树的抽象数据类型定义 

1.二叉数的性质和存储结构 

2.满二叉树和完全二叉树 

3.二叉树的存储结构 

1.二叉树的顺序存储 

代码示例:

 

2.二叉树的链式存储结构 

代码示例:

 

7.遍历二叉树 

1.前序遍历 

2.中序遍历 

3.后序遍历 

4.例题 

8.遍历二叉树的简单方法

9.总的代码


1.树和二叉树的定义

690c8e57880e4819a7b9698db6e5c082.png

60293a72ca4445d49a6b01f54046ed09.png

421e9269d7b34d059e3e756fa3968e03.png

328a54d3a95b46819890a61eee437605.png

e0517e58764048f5b52a3f0efcce991c.png

2.树的基本术语 

f9b34d04ee474ed4979bda0bb91598c6.png

6c77be1727f642a58ff1991ade244166.png

 0a2e0ff1b3c24ee7a0f40fc9c674703a.png

93e62df47bc2427ba7545d1a8fe22b08.png39ebccb37fe8447f8b4583a7bc2faa79.png 

2f8d3872b5a64741b39cda31f82ab20f.png

 3.树结构和线性结构的比较9380b9fcd8e94732a7ba007b0ea127ed.png

4.二叉树的定义 

416d5397091c4667bb94a6cface5e154.png

bfe2b2f5be5b4685bae78787336d81e0.png

56b93c75d3eb40a2bf60796833748ed2.png

b12b691c39124ea7bb7ad0dcf77df0a6.png

3baf0baed8ce4fa7a937fa841ddb9423.png

5.案例引入 

a4e87e5a7d7f4b0aa4e2cc6e4b842b79.png

a5781b6d087d49cb8176601f07b66379.png

6.二叉树的抽象数据类型定义 

958fe94568ca47c68466887d02cc1891.png

1a7bacf8001143b0b509c854bb4ea503.png

1.二叉数的性质和存储结构 

fe2d06aebaca434fa9d3e149be93e391.png

2e1e2e9010f74ea6bb4796e466b6982a.png

1d9814bdb1a543fc89ef74b87a99eb74.png

e0e014bf6a184315ab1b9b492f311c0c.png

eac6b8bdfacd47fca8a228a5f87d4cd7.png

a32ed4af702540db9e08d4095b632ad4.png

2.满二叉树和完全二叉树 

01a3485569094798ad2900d8b9dd9c19.png

cd5956fb300b453a98091a7ece894888.png

f5ccd1e17dda4364a02fc7fa1f61c716.png

bd1c043e91af467a8fc1a2ce2cf9c072.png cc62e4f4e3b6423fb54eede5e6bc3591.png

33217972884e4efcb33e86d1dcc12ada.png

ac7e7bb349964348b8cccdf258610f79.png

ce88c8bd6f474d51b80b3ac3504150ac.png

8664f79cf4ac4474aff97e86f619d9b3.png

5cbd0b8a900848569ea6217fd9a4037f.png

85921927780841f6afbc67b30aff39bb.png

953793b5fc02471eb62050fc0d4bf6e7.png

3.二叉树的存储结构 

e9a626b6a02b472397abfe357172a7c1.png

1.二叉树的顺序存储 

28be28c4711a451487334368a846bccf.png

b8e8fcbb79044494b8ea75f4770f716d.png

代码示例:
#define maxtsize 100
typedef int sqbitree[maxtsize];
sqbitree bi;
 

07c3da0e9b824ecab94bc121e0ea0958.png

97fd5cad1e9e48d2abd4c3e93bdcef8a.png

af27dbb1a34b41f6a81edb72049a6578.png

2.二叉树的链式存储结构 

f2a07b5d4f35444a9f5aee5b306c5362.png

371946e388d24ea0aad26c7c62d8e90a.png

代码示例:
typedef struct binode{
	int data;
	struct binode *lchild,*rchild;
}binode,*bitree;
 

b8b7d585df0f46b29d93f059a287158b.png

c05b46af369a4129b153c2f0581fe5b3.png

5ba9e007846942d5a5788e5b14312d37.png

7.遍历二叉树 

8276dc81dbe94aa8b2a20e2456f0f991.png

94df8c017c5044bb95cf7031eb51b91a.png

70518d9c44ff46518901a595bdb77456.png

3b2bead1ff21438596e89f0c01c024c0.png

d708bede43a34928bc4fc0bc9cf89fe9.png

1.前序遍历 

a63c3deb925b4b9ab72a5ccdee1fba78.png

2.中序遍历 

000139b6bf0e4ef9b2eea074f0c82af3.png

3.后序遍历 

7a2422d9804f4408af52e1c238329fe5.png

4.例题 

8be49884fd1745c8b6550a8450c65d88.png

7357de4e1f8b4821839b3b8d87d3ab70.png

4d0491f7c85b4abfb19894dfacb3ef91.png

15d058e58fb844b2a6c0ce953a2b3906.png

951e3b76c2924752b4cd93bc1804a3d2.png

37105dc307964c38b114e2c0182f4ab8.png

1f1529c4c7af445792f8dc8c8ff03077.png

c2fb84e46c3a4908a62ec8f65664d0a8.png

8.遍历二叉树的简单方法

在二叉树每一个节点的左下右三个方向各标一个点,

再按照如图所示的方法连一遍线即可知道一个二叉树前序中序和后序。

注意:左边的点和右边的点都在往下伸的枝条的上面。

9.总的代码

#include<bits/stdc++.h>
using namespace std;

#define maxtsize 100
typedef int sqbitree[maxtsize];
sqbitree bi;

typedef struct binode{
	int data;
	struct binode *lchild,*rchild;
}binode,*bitree;

int main(){
	return 0;
}

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柏箱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值