app网站建设可行性分析python 网站开发入门

pingmian/2026/1/27 13:33:53/文章来源:
app网站建设可行性分析,python 网站开发入门,英文版网站建站要求,广西执业药师培训网站目录 一.前言 二.模拟实现链式结构的二叉树 2.1二叉树的底层结构 2.2通过前序遍历的数组ABD##E#H##CF##G##构建二叉树 2.3二叉树的销毁 2.4二叉树查找值为x的节点 2.5二叉树节点个数 2.6二叉树叶子节点个数 2.7二叉树第k层节点个数 三.二叉树的遍历 3.1…目录 一.前言 二.模拟实现链式结构的二叉树 2.1二叉树的底层结构 2.2通过前序遍历的数组ABD##E#H##CF##G##构建二叉树 2.3二叉树的销毁 2.4二叉树查找值为x的节点 2.5二叉树节点个数 2.6二叉树叶子节点个数 2.7二叉树第k层节点个数 三.二叉树的遍历 3.1前序遍历 3.2中序遍历 3.3后序遍历 3.4层序遍历 一.前言 详解—数据结构《树和二叉树》-CSDN博客 上一节课我们详解了树和二叉树这一篇博客我来带领大家来模拟实现二叉树 二.模拟实现链式结构的二叉树 2.1二叉树的底层结构 首先有一个数据域 然后有俩个二叉树指针分别指向他们的左孩子和右孩子 typedef char BTDataType; typedef struct BinaryTreeNode {BTDataType data;struct BinaryTreeNode* left;struct BinaryTreeNode* right; }BTNode; 2.2通过前序遍历的数组ABD##E#H##CF##G##构建二叉树 1、按照前序遍历先走根再走左子树再走右子树的方法我们首先了解大概思路 2、数组里面的#就相当于为空所以我们先判断if 我们的数组为#就返回空 3、然后我们创建一个节点如果开辟失败返回空我们进行判断 4、然后放入数据 5、再然后递归开始走左子树右子树 BTNode* BinaryTreeCreate(BTDataType* a, int n, int * pi) {if (# a[*pi]){(*pi);return NULL;}BTNode * root (BTNode *)malloc (sizeof(BTNode));if (root NULL){perror(malloc);return;}root-data a[(*pi)];root-left BinaryTreeCreate(a, n, pi);root-right BinaryTreeCreate(a, n, pi);return root; } 2.3二叉树的销毁 销毁一颗二叉树 1.首先判断如果是空树直接返回 2.利用递归从最左边的树开始进行一个节点一个节点的删除 void BinaryTreeDestory(BTNode** root) {if (*root NULL)return;BinaryTreeDestory((*root)-left);BinaryTreeDestory((*root)-right);free(*root);*root NULL; } 2.4二叉树查找值为x的节点 二叉树的查找在这里我用的前序遍历递归 1.先确定递归的退出条件root等于空就返回 2.然后进行前序遍历 3.判断一下当前节点是不是x 4.在开始走左子树 5.开始走右子树 BTNode* BinaryTreeFind(BTNode* root, BTDataType x) {BTNode* node;if (root NULL)return NULL ;//一开始就是 xif (root-data x){return root;}//前序遍历寻找xnode BinaryTreeFind(root-left, x);if (node)return node;node BinaryTreeFind(root-right, x);if (node)return node;//遍历完找不到返回空return NULL; } 2.5二叉树节点个数 二叉树的节点个数就是二叉树左子树加上右子树加上根 这里我用的也是递归的方法同学们可以看一下 int BinaryTreeSize(BTNode* root) {return root NULL ? 0 : BinaryTreeLeafSize(root-left) BinaryTreeLeafSize(root-right) 1; } 2.6二叉树叶子节点个数 叶节点或终端节点度为0的节点称为叶节点 可以观看上一篇文章取了解叶子节点 详解—数据结构《树和二叉树》-CSDN博客 查找叶子节点也是用的递归方法 首先增加递归退出条件root0 然后如果所在的节点他的左右子树都为空那么他就是叶子节点返回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); } 2.7二叉树第k层节点个数 在二叉树中我们想知道每一层有多少个节点 1.确定递归退出条件 2.如果k1返回1代表找到了这一层的一个节点 3.进行递归每一层k-1当k1是找到所在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);} 三.二叉树的遍历 3.1前序遍历 二叉树的遍历了解可以详细看看上一章节 详解—数据结构《树和二叉树》-CSDN博客  前序遍历的遍历方法就是先走根然后左子树右子树 我们这里还是用的递归 1.先确定递归条件 2.打印当前节点 3.走左子树 4.走右子树 void BinaryTreePrevOrder(BTNode * root) {if (root NULL){return;}printf(%c , root-data);BinaryTreePrevOrder(root-left);BinaryTreePrevOrder(root-right); } 3.2中序遍历 中序遍历的顺序是先走左子树再走根再走右子树 我们的实现方法如下 1.确定递归条件 2.走左子树 3.打印当前节点 4.走右子树 void BinaryTreeInOrder(BTNode* root) {if (root NULL){return;}BinaryTreeInOrder(root-left);printf(%c , root-data);BinaryTreeInOrder(root-right); } 3.3后序遍历 后序遍历的顺序是先走左子树再走右子树再走根 我们的实现方法如下 1.确定递归条件 2.走左子树 3.走右子树 4.打印当前节点 void BinaryTreePostOrder(BTNode* root) {if (root NULL){return;}BinaryTreePostOrder(root-left);BinaryTreePostOrder(root-right);printf(%c , root-data); } 3.4层序遍历 首先我们层序遍历需要用到队列我们先添加前几章写的队列到当前项目中然后进行调用 1.创建并初始化一个队列 2.当根不为空时将根节点入队 3.保存根节点地址访问其数据域之后出队 4.若根节点的左子树不为空入队左子树 5.判断根节点的右子树不为空入队右子树 6.保存队头节点地址访问其数据域之后出队 8.重复上述过程的条件是队列不为空 void BinaryTreeLevelOrder(BTNode* root) {Queue q;//初始化队列QueueInit(q);if (root)QueuePush(q, root);while (!QueueEmpty(q)){BTNode* front QueueFront(q);printf(%c , front-data);QueuePop(q);if (front-left){QueuePush(q, front-left);}if (front-right){QueuePush(q, front-right);}}printf(\n);//销毁队列QueueDestroy(q); }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/85170.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

北京手机版网站制作科技公司网站制作模板

html">正则表达式是做文本解析工作必不可少的技能。如Web服务器日志分析,网页前端开发等。很多高级文本编辑器都支持正则表达式的一个子集,熟练掌握正则表达式,经常能够使你的一些工作事半功倍。例如统计代码行数,只需一个…

徐州集团网站建设流程网站开发工资一般多少钱

最近,围绕数字化客户经营,神策数据基于“客户旅程编排(Customer Journey Orchestration,简称 CJO)”理念,发布汽车行业全新解决方案,通过全渠道打通给客户带来一致的、个性化的体验,…

网站服务器拒绝连接jsp做网站遇到的问题

待续。。。转载于:https://www.cnblogs.com/yuyue2014/p/4451035.html

杭州电子网站建设方案深圳地铁公司网站

目录 1、LCD显示系统介绍1.1 LCD显示基本原理1.1.1 颜色的显示原理:1.1.2 图像的构成 1.2 LCD接口介绍1.2.1 驱动接口 - MCU接口1.2.2 驱动接口 - RGB接口1.2.3 驱动接口 - LVDS接口1.2.4 驱动接口 - MIPI接口1.2.5 RGB / MIPI / LVDS三种接口方式的区别&#xff1a…

做音乐网站赚钱吗天元建设集团有限公司人力资源部电话

由于上半年实在太忙太忙,所以导致很久没更新公众号了,特意向各位长期关注的小伙伴表示歉意。今天分享的是DFT性质的应用。背景:DFT的对称性在解题中是非常常见的,很多同学,一看到“实序列”就感觉无从下手。然而它却是…

国家 住房城乡建设信用 网站免费网络推广软件有哪些

一、安装驱动 参考这篇文章进行安装Ubuntu安装Nvidia显卡驱动_Kevin__47的博客-CSDN博客 【出现问题】 禁用nouveau后出现黑屏,有几行代码,断线一直在闪 【解决方法】 1、参考这篇文章Ubuntu20.04安装nvidia显卡驱动并解决重启后黑屏问题_ubuntu安装…

晋江网站开发哈尔滨seo网站排名

数据库实验三 Sql多表查询和视图 一、Sql表二、在线练习 一、Sql表 www.db-book.com 二、在线练习 对所有表执行查询语句,查看有哪些数据。 select * from tableName; 一、执行以下查询语句,写出查询意图。 (1) select * from student,takes whe…

济南行知做网站哪个兄弟来个直接看的网站

常用命令linux下vi编辑器命令大全来源:考试大 【学而优则进,考试大以成!】 2007年8月14日  文本编辑器是所有计算机系统中最常用的一种工具。UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi,而vi…

北京网站备案速度网店运营在哪里学比较好些

时间:2019 年 级别:SCI 机构:南京信息工程大学 摘要 随着多媒体呈现技术、图像采集技术和互联网行业的发展,远程通信的方式已经从以前的书信、音频转变为现在的音频/视频。和 视频在工作、学习和娱乐中的比例不断提高&#xff0…

深圳鼎诚网站建设wordpress网站外包

关注我——个人公众号:后端技术漫谈我目前是一名后端开发工程师。主要关注后端开发,数据安全,网络爬虫,物联网,边缘计算等方向。原创博客主要内容Java知识点复习全手册Leetcode算法题解析剑指offer算法题解析SpringClo…

万网网站空间购买芜湖公司做网站

八、HttpMessageConverter HttpMessageConverter,报文信息转换器,将请求报文转换为Java对象,或将Java对象转换为响应报文 HttpMessageConverter提供了两个注解和两个类型:RequestBody,ResponseBody,Reque…

培训网站设计师网站设计公司哪家专业

基本介绍 Sentinel中的簇点链路是由一个个的Node组成的,Node是一个接口。Node中保存了对资源的实时数据的统计,Sentinel中的限流或者降级等功能就是通过Node中的数据进行判断的。 Sentinel中是这样描述Node的: Holds real-time statistics…

厦门网站制作开发收费工程承包

为源响应式对象上的某个属性创建一个 ref对象, 二者内部操作的是同一个数据值, 更新时二者是同步的 区别ref: 拷贝了一份新的数据值单独操作, 更新时相互不影响 应用: 当要将 某个prop 的 ref 传递给复合函数时&#xff0c;toRef 很有用 父组件代码: <template><…

网站三大要素是什么意思建设银行住房公积网站

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 C#在写一个实体类时&#xff0c;有属性的写法&#xff0c;省去了写getter和setter的麻烦。 在Java编程时&#xff0c;写完字段后&#x…

做网站如何安全 博客国外浏览器app下载

http://www.cnblogs.com/genhaosan/articles/5129791.html 转载于:https://www.cnblogs.com/wangc04/p/6400477.html

昆明app网站开发公司有些网站为什么会有弹窗

原标题&#xff1a;电气自动化自学宝典——看过人人都是工程师怎样快速成为一名电气自动化工程师呢&#xff1f; 对于一些对电气技术一无所知或略有一点基础的人来说&#xff0c;要想成为一名电气自动化工程师或达到相同的技术程度&#xff0c;有什么速成的方法吗&#xff1f;如…

网站公司建设个服务号多少钱无锡新吴区住房建设和交通局网站

文章目录 一、继承 组合 模式的类对象 构造函数和析构函数调用规则1、场景说明2、调用规则 二、完整代码示例分析1、代码分析2、代码示例 一、继承 组合 模式的类对象 构造函数和析构函数调用规则 1、场景说明 如果一个类 既 继承了 基类 ,又 在类中 维护了一个 其它类型 的…

网站建设页面图国家对网站建设有什么要求

摘自https://zhuanlan.zhihu.com/p/29874146 写在前面 当你老大扔给你这样的图&#xff0c;或者你需要完成某些功能而去看文档的时候发现以下类似这样的图会不会不&#xff08;一&#xff09;知&#xff08;脸&#xff09;所&#xff08;懵&#xff09;措&#xff08;逼&#x…

网站编程语言哪个好延安网站建设网络公司

当我们从网上copy一段代码后&#xff0c;总会出现这个问题。博主在Arduino环境中也出现了&#xff0c;so,这个问题应该是C语言和C编译器中才会出现的。 test_int:19: error: stray \343 in program 銆?銆? char string[25]; ^ test_int:19: error: stray \200 in progr…