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

银川建网站那家好个人做网站需要资质吗

银川建网站那家好,个人做网站需要资质吗,金融网站 源码,怎样做触屏版手机网站#x1f6a9;纸上得来终觉浅#xff0c; 绝知此事要躬行。 #x1f31f;主页#xff1a;June-Frost #x1f680;专栏#xff1a;数据结构 #x1f525;该文章主要讲述二叉树的递归结构及分治算法的思想。 目录#xff1a; #x1f30d;前言#xff1a;#x1f30d;… 纸上得来终觉浅 绝知此事要躬行。 主页June-Frost 专栏数据结构 该文章主要讲述二叉树的递归结构及分治算法的思想。 目录 前言 二叉树的遍历 前序遍历 中序遍历 后续遍历 分治 一些例子 ❤️ 结语 前言 为了实现二叉树的基本操作以及更好的了解二叉树的结构先手动创造一个链式二叉树。 #includestdio.h #includestdlib.htypedef struct BinaryTreeNode {struct BinaryTreeNode* left;struct BinaryTreeNode* right;int val; }BTNode;BTNode* BuyNode(int x) {BTNode* node (BTNode*)malloc(sizeof(BTNode));if (node NULL){perror(malloc fail);exit(-1);}node-left NULL;node-right NULL;node-val x;return node; } int main() {//创建节点BTNode* node1 BuyNode(1);BTNode* node2 BuyNode(2);BTNode* node3 BuyNode(3);BTNode* node4 BuyNode(4);BTNode* node5 BuyNode(5);BTNode* node6 BuyNode(6);BTNode* node7 BuyNode(7);//建立关系node1-left node2;node1-right node3;node2-left node4;node3-left node5;node3-right node6;node4-right node7;return 0; }创建出来的结构 创建出来的这棵二叉树将为后续的遍历和分治做准备. 二叉树的遍历 遍历操作可以快速熟悉二叉树的递归结构二叉树遍历(Traversal)是按照某种特定的规则依次对二叉树中的节点进行相应的操作并且每个节点只操作一次。访问结点所做的操作依赖于具体的应用问题。 遍历是二叉树上最重要的运算之一也是二叉树上进行其它运算的基础。 如果二叉树不为空树就需要看成三部分即 根节点根节点的左子树、根节点的右子树这样就满足了递归结构 由于二叉树满足递归结构所以按照规则二叉树的遍历有前序/中序/后序的递归结构遍历 前序遍历(Preorder Traversal 亦称先序遍历)——访问根结点的操作发生在遍历其左右子树之前。即顺序为根 、左子树、右子树。 中序遍历(Inorder Traversal)——访问根结点的操作发生在遍历其左右子树之中间。即顺序为左子树、右子树、根。 后序遍历(Postorder Traversal)——访问根结点的操作发生在遍历其左右子树之后。即顺序为左子树、右子树、根。 按照创建的二叉树遍历的顺序为 前序遍历 代码实现 void PreOrder(BTNode* root) {if (root NULL){printf(NULL );return;}printf(%d , root-val);PreOrder(root-left);PreOrder(root-right); }动图展示 前序遍历递归图解 中序遍历 代码实现 void InOrder(BTNode* root) {if (root NULL){printf(NULL );return;}InOrder(root-left);printf(%d , root-val);InOrder(root-right); }动图展示 注意对于这个动图的白色箭头为递归调用和结束红色箭头是左子树部分调用结束之后打印节点的时机。 后续遍历 代码实现 void PostOrder(BTNode* root) {if (root NULL){printf(NULL );return;}PostOrder(root-left);PostOrder(root-right);printf(%d , root-val); }动图展示 注意对于这个动图的白色箭头为递归调用和结束红色箭头是右子树部分调用结束之后打印节点的时机。 分治 分治思想是一种解决问题的方法本质是一种管理它的核心思想是将一个复杂的问题分解成若干个较小的子问题然后分别解决这些子问题最后将子问题的解合并得到原问题的解。这种思想在计算机科学、数学和工程领域都有广泛应用。  分治思想的优点在于它可以有效地减少问题的复杂度提高算法的效率。同时它还可以提高代码的可读性和可维护性因为可以将问题分解成更小的部分更容易理解和修改。 一些例子 ① 二叉树的节点个数 节点情况 如果是空节点返回0。如果不是空节点则返回该节点的左子树的节点数右子树的节点个数1(自己这个节点)。 int BinaryTreeSize(BTNode* root) {return root NULL ? 0 : BinaryTreeSize(root-left) BinaryTreeSize(root-right) 1; } 这个代码的访问顺序其实就是后序遍历。 ② 二叉树叶子节点个数 节点情况 如果是空返回0。如果是叶子返回1。不是叶子也不是空就返回该节点左子树的叶子数 右子树的叶子数。 int BinaryTreeLeafSize(BTNode* root) {if (root NULL){return 0;}if (root-left NULL root-right NULL){return 1;}return BinaryTreeLeafSize(root-left) BinaryTreeLeafSize(root-right); }③ 二叉树第k层节点个数 int BinaryTreeLevelKSize(BTNode* root, int k) {if (root NULL){return 0;}if (k 1){return 1;}return BinaryTreeLevelKSize(root-left,k-1) BinaryTreeLevelKSize(root-right, k - 1); }❤️ 结语 文章到这里就结束了如果对你有帮助你的点赞将会是我的最大动力如果大家有什么问题或者不同的见解欢迎大家的留言~
http://www.hkea.cn/news/14361383/

相关文章:

  • 写网站编程需要什么网站标题上的小图标怎么做的
  • 江苏网站建设工作室做外贸需要具备什么条件
  • 嘉定企业网站建设wordpress增加内存分配给php
  • 卢松松网站模板wordpress插件+手机版
  • 高效网站建设公司凡科互动小游戏辅助
  • 国内做的好的电商网站有哪些良品铺子的网站建设目标
  • 优秀网站设计wordpress七牛云图床
  • 哪里有网站制作京东网站建设步骤
  • 域名及网站建设实验报告建立品牌网站的
  • 背景 网站建设嵌入式培训总结
  • 广西建设网站培训wordpress添加留言板
  • 西安网站快速排名提升五种新型营销方式
  • 大连建设网站制作菏泽网站建设公司
  • 房产信息查询系统官方网站在58做网站推广有效果吗
  • 天津百度搜索网站排名榆次住房保障和城乡建设局网站
  • 网站seo诊断分析招标网站平台
  • 招标网站平台网页设计师要求什么专业
  • 网站排名 优帮云酷家乐软件下载电脑版
  • 中国城市建设官方网站学产品设计专业后悔了
  • 单页营销型网站模板下载珠海公司网站制作
  • 哪些网站专做新闻阳泉推广型网站开发
  • 种子网站模板本地网站搭建
  • 常州本地招聘网站前端培训的机构
  • 建宁建设局网站打开百度网页版
  • 江苏兴力建设集团有限公司网站北京正邦设计
  • 长沙seo网站建设袁飞最好不同类型网站比较及网站域名设计
  • 自建网站餐饮服务提供者应在通信主管部门备案后福州微信网站建设
  • php个人网站源码带音乐做网站找模版好吗
  • 上海免费模板建站网站的回到顶部怎么做
  • 珠海品牌网站建网络架构方案规划设计和实施