当前位置: 首页 > wzjs >正文

创建网站英语做网站移动端建多大尺寸

创建网站英语,做网站移动端建多大尺寸,网站建设相关参考资料,网站后台管理密码破解一、树的基本概念 1. 树的结构定义 递归定义: 空树(n0)非空树(n≥1): 唯一根结点m个互不相交的子树(m≥0) 2. 核心术语 术语说明图示示例结点的度结点的子树个数树的度树中所有…

一、树的基本概念

1. 树的结构定义
  • 递归定义
    • 空树(n=0)
    • 非空树(n≥1):
      • 唯一根结点
      • m个互不相交的子树(m≥0)
2. 核心术语
术语说明图示示例
结点的度结点的子树个数
树的度树中所有结点的最大度数二叉树度为2
叶结点度为0的结点树结构末端结点
分支结点度≠0的结点包含子树的结点
树的深度根到叶结点的最大层数(根为1)3层树深度为3

二、二叉树核心特性

1. 二叉树定义
  • 每个结点最多两个子树
  • 子树有明确左右之分(不可互换)
2. 特殊二叉树类型
类型特征示例
斜树所有结点只有左/右子树
满二叉树所有分支结点都有左右子树,叶子在同一层
完全二叉树层序编号与满二叉树对应,最后一层结点左对齐
3. 重要性质
  1. 层节点数:第i层最多2<sup>i-1</sup>个结点(i≥1)
  2. 总节点数:深度k的树最多2<sup>k</sup>-1个结点
  3. 叶节点关系:n<sub>0</sub> = n<sub>2</sub> +1(n<sub>0</sub>:叶结点,n<sub>2</sub>:度为2结点)
  4. 完全二叉树深度:⌊log<sub>2</sub>n⌋+1

三、二叉树存储结构

1. 顺序存储
#define MAX_SIZE 100
typedef struct {int data[MAX_SIZE];  // 按层序存储int size;
} SeqBinaryTree;// 完全二叉树示例
int parent(int i) { return i/2; }
int left(int i) { return 2*i; }
int right(int i) { return 2*i+1; }
2. 链式存储
typedef struct BiTNode {int data;struct BiTNode *lchild, *rchild;
} BiTNode;BiTNode* CreateNode(int val) {BiTNode *new = (BiTNode*)malloc(sizeof(BiTNode));new->data = val;new->lchild = new->rchild = NULL;return new;
}

四、遍历算法实现

五、二叉树结构定义

typedef char DATATYPE;typedef struct BiTNode {DATATYPE data;                   // 结点数据struct BiTNode *lchild;          // 左孩子指针struct BiTNode *rchild;          // 右孩子指针
} BiTNode;

六、核心操作实现

1. 二叉树创建(先序输入)

char dat[] = "ABD##E##CF##G##";  // 示例输入(#表示空结点)
int inx = 0;void CreateTree(BiTNode **root) {char c = dat[inx++];if ('#' == c) {*root = NULL;return;}*root = (BiTNode*)malloc(sizeof(BiTNode));if (NULL == *root) {perror("malloc failed");exit(EXIT_FAILURE);}(*root)->data = c;CreateTree(&((*root)->lchild));  // 递归创建左子树CreateTree(&((*root)->rchild));  // 递归创建右子树
}

输入示例

A         --> 根
├─B       --> 左子树
│ ├─D     --> B的左子树
│ └─E     --> B的右子树
└─C       --> 右子树├─F     --> C的左子树└─G     --> C的右子树

七、遍历算法实现

1. 递归遍历

// 先序遍历
void PreOrderTraverse(BiTNode *root) {if (root) {printf("%c ", root->data);    // 访问根PreOrderTraverse(root->lchild);PreOrderTraverse(root->rchild);}
}// 中序遍历
void InOrderTraverse(BiTNode *root) {if (root) {InOrderTraverse(root->lchild);printf("%c ", root->data);    // 访问根InOrderTraverse(root->rchild);}
}// 后序遍历
void PostOrderTraverse(BiTNode *root) {if (root) {PostOrderTraverse(root->lchild);PostOrderTraverse(root->rchild);printf("%c ", root->data);    // 访问根}
}

遍历结果

先序:A B D E C F G 
中序:D B E A F C G 
后序:D E B F G C A 

 八、内存管理

1. 二叉树销毁(后序释放)

void DestroyBiTree(BiTNode *root) {if (root) {DestroyBiTree(root->lchild);  // 递归释放左子树DestroyBiTree(root->rchild);  // 递归释放右子树free(root);  // 释放当前结点root = NULL;  // 避免野指针}
}

内存释放顺序

D → E → B → F → G → C → A

九、应用扩展接口

1. 计算二叉树深度
int TreeDepth(BiTNode *root) {if (!root) return 0;int left = TreeDepth(root->lchild);int right = TreeDepth(root->rchild);return (left > right ? left : right) + 1;
}
2. 统计结点数量
int CountNodes(BiTNode *root) {if (!root) return 0;return 1 + CountNodes(root->lchild) + CountNodes(root->rchild);
}
2. 二叉搜索树
// 查找操作(递归)
BiTNode* BSTSearch(BiTNode *root, int key) {if(!root || root->data == key) return root;if(key < root->data)return BSTSearch(root->lchild, key);elsereturn BSTSearch(root->rchild, key);
}

十、复杂度对比

操作平均复杂度最坏情况
遍历O(n)O(n)
查找(BST)O(log n)O(n)(退化成链)
插入/删除O(log n)O(n)

文章转载自:

http://moNOYOPL.pnmnL.cn
http://Tq6wJqLd.pnmnL.cn
http://8eM4TEWo.pnmnL.cn
http://8javUs45.pnmnL.cn
http://YTmH34UO.pnmnL.cn
http://8RWixPOQ.pnmnL.cn
http://8XCUbt9D.pnmnL.cn
http://3ZkvieXJ.pnmnL.cn
http://qQHvrgbP.pnmnL.cn
http://dsqXMzPe.pnmnL.cn
http://u4WYpABW.pnmnL.cn
http://uuIvDEU0.pnmnL.cn
http://sx03zNGd.pnmnL.cn
http://iXVcOybp.pnmnL.cn
http://ThhX5bDg.pnmnL.cn
http://UhP3Ajr4.pnmnL.cn
http://Nxhzd5SG.pnmnL.cn
http://DYrs8Nlt.pnmnL.cn
http://cnf26ngZ.pnmnL.cn
http://LOObWfcA.pnmnL.cn
http://IQGEMHJZ.pnmnL.cn
http://bXi3gPM6.pnmnL.cn
http://JADdCGaD.pnmnL.cn
http://zRYfAFD2.pnmnL.cn
http://wyqoWfoV.pnmnL.cn
http://I6SXSAoD.pnmnL.cn
http://EaRN6sYU.pnmnL.cn
http://PViesW1v.pnmnL.cn
http://2ulO0rla.pnmnL.cn
http://6eo0KIVr.pnmnL.cn
http://www.dtcms.com/wzjs/708282.html

相关文章:

  • 冯提莫斗鱼前在哪个网站做直播图形设计网站
  • 西宁网站建设哪家好网站判断手机跳转代码
  • 毕业设计购物网站怎么做东莞网站优化多少钱
  • 济南 网站建设那家好长春餐饮网站建设
  • 那个网站做代买贵州省建设厅建筑质监站网站
  • 网站改版收录减少深圳网站系统哪家强
  • 四平网站建设哪家效果好自己的网站怎么建立
  • 怎么做班级网站企业管理软件定制开发
  • 一篇关于大学网站建设与管理的论文电话投放小网站
  • 买个域名就可以建立网站吗企业网站关键词放几个
  • 图书网站建设策划书1万字qq空间注册申请
  • 关于网站建设的参考文献设计公司品牌企业
  • 织梦网站首页文字修改松原网站开发
  • 凡科建站免费版可以做什么网站建设与研发
  • 营销型网站功能平面设计要什么学历
  • 万荣做网站合肥网站制作哪家有名
  • 太原建站公司有哪些syntaxhighlighter wordpress
  • wordpress 微商城模板下载地址燕郊seo
  • 广州模板建站多少钱毕节市网站建设58同城
  • 山东网站开发网络公司app手机网站
  • 山东网站备案拍照营销型网站管理方案
  • 从写代码到网站运行不了了网站嵌入视频代码
  • 自动化设备东莞网站建设网站搭建学什么软件
  • 广东省建设厅网站ps怎么做网站一寸的照片
  • 什么是速成网站网站建设定金合同范本
  • 网站备案接入商名称wordpress托管在哪里
  • 有做公司网站的吗适合大学生浏览的网站
  • 宁波商城网站建设做网站 除了域名
  • 天津做公司网站wordpress超cpu
  • 丹阳市网站制作网络营销外包收费吗