河南艾特网站建设2二级域名免费

news/2025/10/2 17:21:32/文章来源:
河南艾特网站建设,2二级域名免费,网站建设 功能需求,青岛正规公司网站建设公司定义 树是节点的优先集合度#xff1a;孩子的数量#xff0c;度为0 就是终端节点#xff0c;不为零就是根节点有序树#xff1a;有顺序#xff0c;不可以替换无序树#xff1a;无顺序#xff0c;可以替换深度 和 树的深度相反#xff0c;第一层深度为1 树的深度为 3 二…定义 树是节点的优先集合度孩子的数量度为0 就是终端节点不为零就是根节点有序树有顺序不可以替换无序树无顺序可以替换深度 和 树的深度相反第一层深度为1 树的深度为 3 二叉树 满二叉树每一层的节点达到最大完全二叉树  从头部开始从左往右依次读数存在的数据和满二叉树的位置一一对应就是完全二叉树满二叉树是完全二叉树完全二叉树不是满二叉树二叉树的存储结构 顺序存储 链式存储 代码 数组二叉树 /************************************************************************/ /* 树课程要求完成树的基本操作1. 树的创建和销毁2. 树中节点的搜索3. 树中节点的添加与删除4. 树中节点的遍历BOOL CreateTree(Tree **pTree, Node *pRoot); //创建树void DestroyTree(Tree *pTree); //销毁树Node *SearchNode(Tree *pTree, int nodeIndex); //根据索引寻找节点BOOL AddNode(Tree *pTree, int nodeIndex, int direction, Node *pNode); //添加节点BOOL DeleteNode(Tree *pTree, int nodeIndex, Node *pNode); //删除节点void PreorderTraversal(Tree *pTree); //前(先)序遍历演示void InorderTraversal(Tree *pTree); //中序遍历演示void PostorderTraversal(Tree *pTree); //后序遍历演示void TreeTraverse(Tree *pTree); //遍历七日成蝶-叩开数据结构之门链表关于数组与树之间的算法转换int 3 5 8 2 6 9 7 父亲结点下标*21 该结点左 父亲结点下标*22 该结点右3(0)5(1) 8(2)2(3) 6(4) 9(5) 7(6) */ /************************************************************************/#include stdio.h #include stdlib.h#define MAX_NODE 20 #define LEFT 1 #define RIGHT 2 #define FALSE 0 #define TRUE 1 #define BOOL inttypedef struct tag_node {int data; }Node;typedef struct tag_tree {Node *root; }Tree;BOOL CreateTree(Tree **pTree, Node *pRoot) {*pTree (Tree *)malloc(sizeof(Tree));if(*pTree NULL){return FALSE;}(*pTree)-root (Node *)malloc(sizeof(Node) * MAX_NODE);if((*pTree)-root NULL){free(*pTree);return FALSE;}for(int i 0; i MAX_NODE; i){(*pTree)-root[i].data 0;}(*pTree)-root[0] *pRoot; //(*pTree)-root[0].data pRoot-data;return TRUE; }void DestroyTree(Tree *pTree) {free(pTree-root);pTree-root NULL;free(pTree);pTree NULL; }Node *SearchNode(Tree *pTree, int nodeIndex) {if(nodeIndex 0 || nodeIndex MAX_NODE){return NULL;}if(pTree-root[nodeIndex].data 0){return NULL;}else{return (pTree-root[nodeIndex]);} }//BOOL SearchNode(Tree *pTree, int nodeIndex, Node *node) //{ // if(nodeIndex 0 || nodeIndex MAX_NODE) // { // return FALSE; // } // // if(pTree-root[nodeIndex].data 0) // { // return FALSE; // } // else // { // node-data pTree-root[nodeIndex].data; //*node pTree-root[nodeIndex]; // // // return TRUE; // } //}BOOL AddNode(Tree *pTree, int nodeIndex, int direction, Node *pNode) {if(nodeIndex 0 || nodeIndex MAX_NODE){return FALSE;}if(pTree-root[nodeIndex].data 0){return FALSE;}pTree-root[nodeIndex * 2 direction].data pNode-data; //pTree-root[nodeIndex * 2 direction] *pNode;return TRUE; }BOOL DeleteNode(Tree *pTree, int nodeIndex, Node *pNode) {if(nodeIndex 0 || nodeIndex MAX_NODE){return FALSE;}if(pTree-root[nodeIndex].data 0){return FALSE;}*pNode pTree-root[nodeIndex];pTree-root[nodeIndex].data 0;return TRUE; }void TreeTraverse(Tree *pTree) {for(int i 0; i MAX_NODE; i){printf(%d , pTree-root[i].data);} }int main(void) {Tree *pTree NULL;Node node {3};Node node1 {5};Node node2 {8};Node node3 {2};Node node4 {6};Node node5 {9};Node node6 {7};CreateTree(pTree, node);AddNode(pTree, 0, LEFT, node1);AddNode(pTree, 0, RIGHT, node2);AddNode(pTree, 1, LEFT, node3);AddNode(pTree, 1, RIGHT, node4);AddNode(pTree, 2, LEFT, node5);AddNode(pTree, 2, RIGHT, node6);TreeTraverse(pTree);DestroyTree(pTree);system(pause);return 0; } 链表 二叉树 /************************************************************************/ /* 树课程要求完成树的基本操作1. 树的创建和销毁2. 树中节点的搜索3. 树中节点的添加与删除4. 树中节点的遍历BOOL CreateTree(Tree **pTree, Node *pRoot); //创建树void DestroyTree(Tree *pTree); //销毁树Node *SearchNode(Tree *pTree, int nodeIndex); //根据索引寻找节点BOOL AddNode(Tree *pTree, int nodeIndex, int direction, Node *pNode); //添加节点BOOL DeleteNode(Tree *pTree, int nodeIndex, Node *pNode); //删除节点void PreorderTraversal(Tree *pTree); //前(先)序遍历演示void InorderTraversal(Tree *pTree); //中序遍历演示void PostorderTraversal(Tree *pTree); //后序遍历演示七日成蝶-叩开数据结构之门链表七日成蝶-C语言编程基础3 5 8 2 6 9 7 前序遍历3 5 2 6 8 9 7 中序遍历2 5 6 3 9 8 7后序遍历2 6 5 9 7 8 33(0)5(1) 8(2)2(3) 6(4) 9(5) 7(6) */ /************************************************************************/#include stdio.h #include stdlib.h//#define MAX_NODE 20 #define LEFT 1 #define RIGHT 2 #define FALSE 0 #define TRUE 1 #define BOOL inttypedef struct tag_node {int index;int data;struct tag_node *pLChild;struct tag_node *pRChild;struct tag_node *pParent; }Node;typedef struct tag_tree {Node *root; }Tree;BOOL CreateTree(Tree **pTree, Node *pRoot); void DestroyTree(Tree *pTree); void DeleteNodeEx(Node *pNode, int direction); Node *SearchNode(Tree *pTree, int nodeIndex); Node *SearchNodeEx(Node *pNode, int nodeIndex); BOOL AddNode(Tree *pTree, int nodeIndex, int direction, Node *pNode); BOOL DeleteNode(Tree *pTree, int nodeIndex, Node *pNode); void PreorderTraversal(Tree *pTree); void PreorderTraversalNode(Node *pNode); void InorderTraversal(Tree *pTree); void InorderTraversalNode(Node *pNode); void PostorderTraversal(Tree *pTree); void PostorderTraversalNode(Node *pNode);BOOL CreateTree(Tree **pTree, Node *pRoot) {*pTree (Tree *)malloc(sizeof(Tree));if(*pTree NULL){return FALSE;}(*pTree)-root (Node *)malloc(sizeof(Node));if((*pTree)-root NULL){free(*pTree);return FALSE;}*((*pTree)-root) *pRoot; /*(*pTree)-root-data pRoot-data;(*pTree)-root-index pRoot-index;(*pTree)-root-pLChild NULL;(*pTree)-root-pRChild NULL;(*pTree)-root-pParent NULL;*/return TRUE; }void DestroyTree(Tree *pTree) {DeleteNodeEx(pTree-root-pLChild, LEFT);DeleteNodeEx(pTree-root-pRChild, RIGHT);free(pTree-root);pTree-root NULL;free(pTree);pTree NULL; }void DeleteNodeEx(Node *pNode, int direction) {if(pNode ! NULL){DeleteNodeEx(pNode-pLChild, LEFT);DeleteNodeEx(pNode-pRChild, RIGHT);if(direction LEFT){pNode-pParent-pLChild NULL;}if(direction RIGHT){pNode-pParent-pRChild NULL;}free(pNode);pNode NULL;}}Node *SearchNode(Tree *pTree, int nodeIndex) {return SearchNodeEx(pTree-root, nodeIndex); }Node *SearchNodeEx(Node *pNode, int nodeIndex) {if(pNode NULL){return NULL;}if(pNode-index nodeIndex){return pNode;}else{Node *temp NULL;temp SearchNodeEx(pNode-pLChild, nodeIndex);if(temp ! NULL){return temp;}temp SearchNodeEx(pNode-pRChild, nodeIndex);return temp;} }//BOOL SearchNode(Tree *pTree, int nodeIndex, Node *node) //{ // if(nodeIndex 0 || nodeIndex MAX_NODE) // { // return FALSE; // } // // if(pTree-root[nodeIndex].data 0) // { // return FALSE; // } // else // { // node-data pTree-root[nodeIndex].data; //*node pTree-root[nodeIndex]; // // // return TRUE; // } //}BOOL AddNode(Tree *pTree, int nodeIndex, int direction, Node *pNode) {Node *temp SearchNode(pTree, nodeIndex);Node *newNode NULL;if(temp NULL){return FALSE;}if(direction LEFT){if(temp-pLChild NULL){newNode (Node *)malloc(sizeof(Node));if(newNode NULL){return FALSE;}*newNode *pNode;temp-pLChild newNode;newNode-pParent temp;}else{return FALSE;}}else{if(temp-pRChild NULL){newNode (Node *)malloc(sizeof(Node));if(newNode NULL){return FALSE;}*newNode *pNode;temp-pRChild newNode;newNode-pParent temp;}else{return FALSE;}}return TRUE; }BOOL DeleteNode(Tree *pTree, int nodeIndex, Node *pNode) {Node *temp SearchNode(pTree, nodeIndex);if(temp NULL){return FALSE;}*pNode *temp;DeleteNodeEx(temp-pLChild, LEFT);DeleteNodeEx(temp-pRChild, RIGHT);if(temp-pParent-pLChild temp){temp-pParent-pLChild NULL;}if(temp-pParent-pRChild temp){temp-pParent-pRChild NULL;}free(temp);temp NULL;return TRUE; }//void TreeTraverse(Tree *pTree) //{ // for(int i 0; i MAX_NODE; i) // { // printf(%d , pTree-root[i].data); // } //}void PreorderTraversal(Tree *pTree) {PreorderTraversalNode(pTree-root); }void PreorderTraversalNode(Node *pNode) {if(pNode ! NULL){printf(%d , pNode-data);PreorderTraversalNode(pNode-pLChild);PreorderTraversalNode(pNode-pRChild);} }void InorderTraversal(Tree *pTree) {InorderTraversalNode(pTree-root); }void InorderTraversalNode(Node *pNode) {if(pNode ! NULL){InorderTraversalNode(pNode-pLChild);printf(%d , pNode-data);InorderTraversalNode(pNode-pRChild);} }void PostorderTraversal(Tree *pTree) {PostorderTraversalNode(pTree-root); }void PostorderTraversalNode(Node *pNode) {if(pNode ! NULL){PostorderTraversalNode(pNode-pLChild);PostorderTraversalNode(pNode-pRChild);printf(%d , pNode-data);} }int main(void) {Tree *pTree NULL;Node node {0, 3, NULL, NULL, NULL};Node node1 {1, 5, NULL, NULL, NULL};Node node2 {2, 8, NULL, NULL, NULL};Node node3 {3, 2, NULL, NULL, NULL};Node node4 {4, 6, NULL, NULL, NULL};Node node5 {5, 9, NULL, NULL, NULL};Node node6 {6, 7, NULL, NULL, NULL};CreateTree(pTree, node);AddNode(pTree, 0, LEFT, node1);AddNode(pTree, 0, RIGHT, node2);AddNode(pTree, 1, LEFT, node3);AddNode(pTree, 1, RIGHT, node4);AddNode(pTree, 2, LEFT, node5);AddNode(pTree, 2, RIGHT, node6);//PreorderTraversal(pTree);//InorderTraversal(pTree);PostorderTraversal(pTree);DestroyTree(pTree);system(pause);return 0; }

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

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

相关文章

实用指南:零基础学AI大模型之Prompt提示词工程

实用指南:零基础学AI大模型之Prompt提示词工程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &…

县城做网站的多么开网上授课的网站应该怎么做

Visual Studio Code(简称 VSCode)是一款由微软开发的免费开源代码编辑器,自 2015 年发布以来,凭借其轻便、强大、且拥有丰富扩展生态的特点,迅速成为了全球开发者的首选工具。VSCode 支持多平台操作系统,包…

详细介绍:2023 美赛C Predicting Wordle Results(上)

详细介绍:2023 美赛C Predicting Wordle Results(上)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&…

Android项目实现自动获取手机号一键登录功能

功能概述 在 Android 应用中实现自动获取本机手机号进行一键登录,同时支持手动登录和历史账号选择功能。这个功能大大提升了用户体验,减少了用户输入成本。 1. 权限配置 首先在 AndroidManifest.xml 中添加必要的权限…

电商网站程序做引流去那些网站好

RPC(Remote Procedure Call,远程过程调用)是一种编程技术,使得开发者能够像调用本地函数一样调用位于不同进程、不同主机上的函数或服务。这种技术隐藏了底层网络通信细节,使得分布式系统中的组件能够无缝协作&#xf…

互联网+政务服务平台广告优化

5 月 8 日凌晨消息,微软 Build 2018 开发者大会在今天正式来开帷幕。很明显整场发布会被分为了上下两个部分,上半场如果说是聊一些技术实现和愿景,那下半场就应该说是实战说明了。跨平台云端编程了解下微软在现场展示了 Visual Studio&#x…

深圳 网站 传播自己建设网站模版

【尚庭公寓SpringBoot Vue 项目实战】用户管理(十五) 文章目录 【尚庭公寓SpringBoot Vue 项目实战】用户管理(十五)1、业务介绍2、接口实现2.1、根据条件分页查询用户列表2.2、根据ID更新用户状态 1、业务介绍 用户管理共包含两…

做试客需要去哪些网站比比西旅游网站建设

本文已发表在《程序员》杂志2016年10月期。 如果在使用App时遇到闪退,你可能会选择卸载App、到应用商店怒斥开发者等方式来表达不满。但开发者也同样感到头疼,因为崩溃可能意味着用户流失、营收下滑。为了降低崩溃率,进而提升App质量&#xf…

python必背入门代码天河网站 建设seo信科分公司

定义外键之后,数据库的每次操作都需要去检查外键约束。对于插入来说,影响了插入速度;对于更新来说,级联更新是强阻塞,存在数据库更新风暴(Database Update Storm)的风险。 所谓 Database Updat…

打造优雅的用户体验:自定义jQuery程序提示插件开发全解析

打造优雅的用户体验:自定义jQuery程序提示插件开发全解析pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

免费股票API接口全面指南 - 详解

免费股票API接口全面指南 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&qu…

广州英铭网站建设北京丰台区做网站公司

一、相关知识 首先我们需要了解传统隐写和生成式隐写的基本过程和区别。传统隐写需要选定一幅封面图像,然后使用某种隐写算法比如LSB、PVD、DCT等对像素进行修改将秘密嵌入到封面图像中得到含密图像,通过信道传输后再利用算法的逆过程提出秘密信息。而生…

Multi-Arith数据集:数学推理评估的关键基准与挑战 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

做电脑网站用什么软件好用吗企业管理系统作用

随着计算机控制系统在人们生活中的普及,软件自身的可靠性也越来越受到重视.在航空、高铁、核电及军事等高安全要求领域的软件系统——安全关键系统(safety-critical system,简称SCS)更是受到高度的重视.而随着软件系统的复杂度越来越高,软件系统的安全性保证也变得越来越困难.这…

西宁平台网站建设学信网 的企业网站给你做认证

一、镜像基础命令: $ docker info # 查看docker信息 $ docker system df # 查看镜像/容器/数据卷所占的空间。 $ ip addr #查看容器内部网络地址。 $ docker images # 查看镜像 $ docker search 镜像名称 # 搜索镜像 --limit :只列出N个镜像,默认为25个…

福田企业网站优化排名昆山公司网站建设电话

1 需求 加密算法分类如下: 可逆加密算法:加密和解密使用相同密钥的加密算法。常见的对称加密算法有DES、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6和AES。不可逆加密算法:数据加密后就不能被解密,常用的算法有MD5、SHA1。非对称…

做网站软件dw斗鱼企业网站建设的目的

上文说了如何创建自定义VPC网络的EC2实例,这节说如何在多个VPC之间创建对等连接。 这里分别填写自己的VPC和对方的VPC的ID信息,然后在对方的VPC里就能看到有连接请求,在对方的连接请求里选择 “操作”->接受。 到这里已经快要收尾了&…

ps制作网站效果图网站建设vs网络推广

大家好,我是Circaboy,近期给我的手机和相机入了一整套专业的摄影外设套装,然后我发现专业设备加持下的摄影着实是比我之前的要好很多,所以我就写了个文章做个简单的介绍和专业外设加持下的摄影对比。 本次入手的是斯莫格摄影套装…

Qt编程: 正则表达式分析 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

一阶逻辑及其变体在自然语言深层语义分析中的作用、挑战与未来启示 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …