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

做外贸需要到外汇管理网站免费网页代理ip地址网站

做外贸需要到外汇管理网站,免费网页代理ip地址网站,公司网站建设费分录,wordpress 外国主题1.树 1.1结构特点 非线性结构#xff0c;有一个直接前驱#xff0c;但可能有多个直接后继有递归性#xff0c;树中还有树可以为空#xff0c;即节点个数为零 1.2相关术语 根#xff1a;即根结点#xff0c;没有前驱叶子#xff1a;即终端结点#xff0c;没有后继森…1.树 1.1结构特点 非线性结构有一个直接前驱但可能有多个直接后继有递归性树中还有树可以为空即节点个数为零 1.2相关术语 根即根结点没有前驱叶子即终端结点没有后继森林即树的集合结点的度直接后继的个数树的度结点的度的最大值树的深度高度结点的最大层数 1.3树的表示法 1.3.1图形表示法 1.3.2广义表表示法 1.3.3左孩子右兄弟表示法 将一颗多插树转化为二叉树如下 其中结点结构为 左结点为孩子结点右节点为兄弟结点 2.二叉树 2.1定义 一个根节点和两棵不相交的二叉树组成即1:2 2.2基本特征 每个节点最多有两棵子树——每个节点的度2 左子树和右子树的顺序不能颠倒——有序树 2.3二叉树性质 满二叉树深度为k有2^k-1个节点 完全二叉树除最后一层每一层节点数达到最大值在最后一层只缺右边的若干节点 2.4二叉树的遍历 //单个结点 struct BinaryNode {char ch;struct BinaryNode* lChild;struct BinaryNode* rChild; }; void test() {struct BinaryNode A { A,NULL,NULL };struct BinaryNode B { B,NULL,NULL };struct BinaryNode C { C,NULL,NULL };struct BinaryNode D { D,NULL,NULL };struct BinaryNode E { E,NULL,NULL };struct BinaryNode F { F,NULL,NULL };struct BinaryNode G { G,NULL,NULL };struct BinaryNode H { H,NULL,NULL };//创建节点之间的关系A.lChild B;A.rChild F;B.rChild C;C.lChild D;C.rChild E;F.rChild G;G.lChild H;//先序遍历printf(先序遍历\n);PreorderTraversal(A);printf(中序遍历\n);InorderTraversal(A);printf(后序遍历\n);PostorderTraversal(A); } 先序遍历DLR //DLR void PreorderTraversal(struct BinaryNode* node) {if (node NULL){return NULL;}printf(%c\n,node-ch);PreorderTraversal(node-lChild);PreorderTraversal(node-rChild); } 中序遍历LDR //LDR void InorderTraversal(struct BinaryNode* node) {if (node NULL){return NULL;}InorderTraversal(node-lChild);printf(%c\n, node-ch);InorderTraversal(node-rChild); } 后序遍历LRD //LRD void PostorderTraversal(struct BinaryNode* node) {if (node NULL){return NULL;}PostorderTraversal(node-lChild);PostorderTraversal(node-rChild);printf(%c\n, node-ch); } 2.5统计二叉树的叶子数量 左孩子和右孩子都为空指针时即为叶子结点 //统计叶子数量 void calculateLeadNum(struct BinaryNode* root, int* p) {if (root NULL){return NULL;}if (root-lChild NULL root-rChild NULL){(*p);}calculateLeadNum(root-lChild, p);calculateLeadNum(root-rChild, p); } 2.6统计二叉树的高度 比较左子树和右子树的高度取最大的一个加一即为树的高度 //计算树的高度 int calculateHeight(struct BinaryNode* root) {if (root NULL){return NULL;}int lp calculateHeight(root-lChild);int rp calculateHeight(root-rChild);int height lp rp ? lp 1 : rp 1;return height; } 2.7拷贝二叉树 拷贝左子树拷贝右子树创建新节点将拷贝的左子树和右子树挂载到新节点上将新节点赋值 //拷贝二叉树 struct BinaryNode* copyTree(struct BinaryNode* root) {if (root NULL){return NULL;}struct BinaryNode* lpcopyTree(root-lChild);struct BinaryNode* rpcopyTree(root-rChild);struct BinaryNode* newNode malloc(sizeof(struct BinaryNode));if (newNode NULL){return;}newNode-lChild lp;newNode-rChild rp;newNode-ch root-ch;return newNode; } 2.8释放二叉树 释放左子树释放右子树释放根节点 //释放二叉树 void releaseTree(struct BinaryNode* root) {if (root NULL){return NULL;}releaseTree(root-lChild);releaseTree(root-rChild);printf(%c结点已被释放, root-ch);releaseTree(root); } 2.9二叉树的非递归遍历 将每个节点设一个标志默认false 1将根节点压入栈中 2进入循环只要栈中元素个数大于0进行循环操作 弹出栈顶元素若栈顶元素标志为true输出此元素并执行下一次循环若栈顶元素标志为false将节点标志设为true将该节点的右子树、左子树、根压入栈中执行下一次循环
http://www.w-s-a.com/news/194049/

相关文章:

  • 郑州专业做网站公百度翻译api wordpress
  • 做网站哪里找大学的一级或二级域名
  • 没有静态ip可以做网站服务器上饶网站制作需要多少钱
  • 网站建设wangzhii做国外网站做什么内容
  • 网站建设 搞笑笑话经典 wordpress主题下载
  • 做网站要懂哪些wordpress 站点网络
  • 郑州外贸网站建设公司排名网站设计做啥好
  • 网站开发合同付款比例wordpress调用指定文章内容
  • 湖北平台网站建设哪里好辽宁建设工程信息网官网平台
  • 公司优化是什么意思?洛阳seo博客
  • 普通建站网站首页制作模板
  • 江苏城乡与住房建设厅网站wordpress 添加导航
  • 免费单页网站在线制作网站制作与网站建设pdf
  • 网站开发使用云数据库技术教程大连模板开发建站
  • 佘山网站建设创造网站需要多少钱
  • 南海佛山网站建设网站维护需要什么技能
  • 阿里云服务器开源做几个网站想找公司做网站
  • 一般做网站是用什么语言开发的域名查询 查询网
  • 地方门户网站源码下载揭阳专业网站建设
  • 网站做优化好还是推广好wordpress百家号模版
  • 淘宝网网站建设的的意见校园微网站建设
  • 小说网站建设之前需求分析免费下载京东购物
  • 园林景观设计案例网站wordpress 文章内容页
  • 网站什么做才会更吸引客户楚雄网站开发rewlkj
  • 电商网站构建预算方案视频制作网站怎么做
  • 包装设计灵感网站ps软件下载电脑版多少钱
  • 手机网站图片做多大原网站开发新功能
  • 网站设计培训成都陕西网站建设公司哪有
  • expedia电子商务网站建设辽宁网站设计
  • 深圳网站建设网站运营绥芬河市建设局网站