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

做户型图的网站网站换空间商什么意思

做户型图的网站,网站换空间商什么意思,wordpress源代码怎么看,本地app开发公司电话目录 前言一、树的基本概念二、二叉树三、树的表示方法四、树的遍历树的代码模版五、经典例题[2236. 判断根结点是否等于子结点之和](https://leetcode.cn/problems/root-equals-sum-of-children/description/)代码题解 六、总结结语 前言 从这一期开始数据结构开始有那么一点… 目录 前言一、树的基本概念二、二叉树三、树的表示方法四、树的遍历树的代码模版五、经典例题[2236. 判断根结点是否等于子结点之和](https://leetcode.cn/problems/root-equals-sum-of-children/description/)代码题解 六、总结结语 前言 从这一期开始数据结构开始有那么一点复杂了这期我们一起来学习初级数据结构——树树是数据结构中的一个重要概念它用于表示具有层次关系的数据集合。 一、树的基本概念 定义树是一种非线性的数据结构由nn0个有限节点组成一个具有层次关系的集合。它看起来像一棵倒挂的树根朝上叶朝下。 特殊节点 根节点树中唯一的特殊节点没有前驱节点。 子节点根节点外的其余节点被分成MM0个互不相交的集合每个集合又是一棵子树。 叶子节点度为0的节点即没有子节点的节点。 分支节点度不为0的节点即含有子节点的节点。 节点关系 双亲节点父节点若一个节点含有子节点则这个节点称为其子节点的父节点。 孩子节点子节点一个节点含有的子树的根节点称为该节点的子节点。 兄弟节点具有相同父节点的节点互称为兄弟节点。 堂兄弟节点双亲在同一层的节点互为堂兄弟。 祖先节点从根到该节点所经分支上的所有节点。 子孙节点以某节点为根的子树中任一节点都称为该节点的子孙。 树的度树中节点的最大度即节点的最大子树数。 树的层次从根开始定义起根为第1层根的子节点为第2层以此类推。 树的高度深度树中节点的最大层次。 二、二叉树 定义二叉树是节点的一个有限集合该集合为空或由一个根节点加上两棵别称为左子树和右子树的二叉树组成。二叉树的子树有左右之分次序不能颠倒。 特殊二叉树 满二叉树每一层上的节点数都是最大节点数即每一层i的节点数都是2^i。 完全二叉树叶子节点只能在层次最大的两层上出现且对任一节点若其右分支的子孙的最大层次为l则其左分支的子孙的最大层次必是l或l1。完全二叉树可以由满二叉树引伸出来是效率很高的数据结构。 二叉树的性质 在二叉树的第i层上至多有2^(i-1)个节点i1。 深度为k的二叉树至多有2^k-1个节点k1。 对于任何一颗二叉树其叶子节点数为n0度为2的节点数为n2则n0n21。 具有n个节点的完全二叉树的深度为log2n1向下取整n0。 二叉树的存储结构 顺序存储结构使用数组来存储一般适合表示完全二叉树。对于非完全二叉树可能会造成空间浪费。 链式存储结构用链表来表示二叉树链表中的每个节点由数据域和左右指针域组成左右指针分别用来给出该节点左孩子和右孩子所在的链节点的存储地址。链式结构又分为二叉链和三叉链。 三、树的表示方法 树有多种表示方法包括树形表示法、孩子兄弟表示法、文氏图表示法、凹形表示法、括号表示法等。其中树形表示法是最常用的方法每个节点指向若干孩子节点以此类推。 四、树的遍历 树的遍历是指按照某种规则访问树中的每个节点使得每个节点被访问且仅被访问一次。常见的遍历方法包括先根遍历、后根遍历和中序遍历针对二叉树。 先根遍历先遍历根节点再遍历它的子节点。 后根遍历先遍历子节点再遍历根节点。 中序遍历针对二叉树先访问左子树再访问根再访问右子树。 树的代码模版 #includeiostream using namespace std;templatetypename T struct ListNode {T data;ListNode* next;ListNode(T x):data(x),next(NULL){} };templatetypename T struct TreeNode {T data;ListNodeTreeNodeT** childrenHead;//子节点指针TreeNode() {childrenHead NULL;}void Addchild(TreeNodeT* node) {//增加子节点的接口ListNodeTreeNodeT** childNode new ListNodeTreeNodeT*(node);if (childrenHead NULL) childrenHead childNode;else {childNode-next childrenHead;childrenHead childNode;}} };templatetypename T class Tree { private:TreeNodeT* root;TreeNodeT* nodes; public:Tree();Tree(int maxNode);~Tree();TreeNodeT* getTreeNode(int id);void setRoot(int rootId);void AddChild(int sonId, int parentId);void AssignData(int nodeId, T data);void Print(TreeNodeT* node NULL); };templatetypename T TreeT::Tree() {nodes new TreeNodeT[100001]; }templatetypename T TreeT::Tree(int maxNodes) {nodes new TreeNodeT[maxNodes]; }templatetypename T TreeT::~Tree() {delete[]nodes; }templatetypename T TreeNodeT* TreeT::getTreeNode(int id) {return nodes[id]; }templatetypename T void TreeT::setRoot(int rootId) {root getTreeNode(rootId); }templatetypename T void TreeT::AddChild(int parentId, int sonId) {TreeNodeT* parentNode getTreeNode(parentId);TreeNodeT* sonNode getTreeNode(sonId);parentNode-Addchild(sonNode); }templatetypename T void TreeT::AssignData(int nodeId, T data) {getTreeNode(nodeId)-data data; }templatetypename T void TreeT::Print(TreeNodeT* node) {if (node NULL)node root;cout node-data;ListNodeTreeNodeT** temp node-childrenHead;while (temp) {Print(temp-data);temp temp-next;} } int main() {Treechart(9);t.setRoot(0);t.AssignData(0, a);t.AssignData(1, b);t.AssignData(2, c);t.AssignData(3, d);t.AssignData(4, e);t.AssignData(5, f);t.AssignData(6, g);t.AssignData(7, h);t.AssignData(8, i);t.AddChild(0, 2);t.AddChild(0, 1);t.AddChild(1, 3);t.AddChild(2, 5);t.AddChild(2, 4);t.AddChild(3, 8);t.AddChild(3, 7);t.AddChild(3, 6);t.Print();return 0; }五、经典例题 2236. 判断根结点是否等于子结点之和 蓝色字体可以点进去看原题 代码题解 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:bool checkTree(TreeNode* root) {return root-valroot-left-valroot-right-val;} };六、总结 综上所述树是一种重要的数据结构它用于表示具有层次关系的数据集合。在树的基础上还可以构建出更复杂的树形结构如二叉树、B树、B树等以满足不同的应用需求。 结语 下期我们将一起学习初级数据结构——二叉树我们这期不见不散 想看更多内容可以关注我看我作品关注我让我们一起学习编程希望大家能点赞关注支持一下让我有持续更新的动力谢谢大家
http://www.zqtcl.cn/news/333092/

相关文章:

  • 宠物店网站开发文档撰写洛阳市河阳建设工程有限公司网站
  • 毕业设计做网站应该学什么wordpress调用子分类
  • 怎么建网站做淘宝客用国外网站 图片做自媒体
  • 汕头建站模板搭建怎么制作有效网站
  • 学生个人网站作品怎么wordpress用的什么主题
  • 设计logo网站侵权吗知乎一键做单页网站
  • 网站服务器有什么用做视频网站视频存放问题
  • 影评网站建设可以免费发布招聘网站
  • 富阳做兼职的网站正邦设计上海分公司
  • 网站漏洞解决办法投资
  • wordpress网站如何网页设计实训总结3000字大学篇
  • 用ps怎么做网站导航条wordpress 开启缩略图
  • 网上销售型的企业网站为什么要域名备案
  • 唐山网站建设方案优化国内酷炫网站
  • 国外网站备案吗网站做一样没有侵权吧
  • 谷歌怎么建网站ps中怎样做网站轮播图片
  • 汕头有没有做网站廊坊宣传片制作公司
  • 百度快速收录网站有些人做网站不用钱的 对吗
  • 如何规划一个网站网站建设预付费入什么科目
  • 北京做网站的好公司有哪些网站建设杭州缘择低价
  • 建设网站团队张掖响应式建站平台
  • 中国建设之乡是哪里网站优化连云港哪家强?
  • 网站建设报价是多少30号长沙封城最新消息
  • 常州专业网站建设费用电商推广技巧
  • 辽源市网站建设南通营销网站开发
  • 新站优化案例去韩国用什么地图导航
  • 宁波网站制作与推广WordPress怎么文章分类
  • mvc 做网站国内的搜索引擎有哪些
  • 设计视频网站腾讯云服务器网站域名备案
  • 网站建设费算费用还是固定资产镇赉县做网站的