社区
C语言
帖子详情
北大自考的一道上机题--做出来有分
asvaboy1980
2002-11-07 10:25:50
输入二叉树的先序序列和中序序列。由此创建一课二叉树,输出该二叉树的后序序列和该二叉树的高度??
有高手吗???谢谢
...全文
134
10
打赏
收藏
北大自考的一道上机题--做出来有分
输入二叉树的先序序列和中序序列。由此创建一课二叉树,输出该二叉树的后序序列和该二叉树的高度?? 有高手吗???谢谢
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pgood
2002-11-11
打赏
举报
回复
树的高度在自考教材一是把根结点定义为1,而更多的书上是把根结点定义为0,如果想按自考教材的,应把最终返回值加1
asvaboy1980
2002-11-09
打赏
举报
回复
树的高度有问题
asvaboy1980
2002-11-08
打赏
举报
回复
说谁都会说,代码的实现,这里还有没有高手?????前天不是有人说自考的题很容易吗????怎么没有一个人能贴出代码????
晕倒,楼上的几个都是菜鸟~~~~~~分只给贴代码的人
bluefee
2002-11-08
打赏
举报
回复
这种题也要贴
FishCrazy
2002-11-08
打赏
举报
回复
呜~~~~~~~~~
来不及了,我也会,我也想要~~~~~~~
huanshilang
2002-11-08
打赏
举报
回复
厉害啊
pgood
2002-11-08
打赏
举报
回复
那分给我吧!
// createbin.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include"conio.h"
#include"malloc.h"
#include"string.h"
#define MAX(a,b) a>b?a:b
struct BINTREE
{
char ch;
struct BINTREE *left;
struct BINTREE *right;
};
BINTREE *CreateBinaryTree(char *szMidString,char *szBackString,int nLength)
{
if(nLength==0)
return NULL;
BINTREE *pRoot=(BINTREE *)malloc(sizeof (BINTREE));
char chTemp=szBackString[nLength-1];
pRoot->ch=chTemp;
int nPosition=strchr(szMidString,chTemp)-szMidString;
// if(nLength==1)
// {
// pRoot->left=NULL;
// pRoot->right=NULL;
// }
// else if(nPosition==nLength-1)
// pRoot->right=NULL;
// else if(nPosition==0)
// pRoot->left=NULL;
// else
// {
pRoot->left=CreateBinaryTree(szMidString,szBackString,nPosition);
pRoot->right=CreateBinaryTree(szMidString+nPosition+1,szBackString+nPosition,nLength-nPosition-1);
// }
return pRoot;
}
void DisplayFrontOrder(struct BINTREE *pRoot)
{
if(pRoot==NULL)
return;
printf("%c",pRoot->ch);
DisplayFrontOrder(pRoot->left);
DisplayFrontOrder(pRoot->right);
}
int GetLevel(struct BINTREE *pRoot)
{
if (pRoot == NULL)
return 0;
else
return MAX(GetLevel(pRoot->left), GetLevel(pRoot->right)) + 1;
}
void DeleteBinTree(struct BINTREE *pRoot)
{
if(pRoot==NULL)
return;
DeleteBinTree(pRoot->left);
DeleteBinTree(pRoot->right);
delete pRoot;
}
int main(int argc, char* argv[])
{
char szMidString[100],szBackString[100];
printf("please input Mid order:");
scanf("%s",szMidString);
printf("please input Back order:");
scanf("%s",szBackString);
struct BINTREE *pRoot=CreateBinaryTree(szMidString,szBackString,strlen(szMidString));
printf("this is the result of front order :\n");
DisplayFrontOrder(pRoot);
printf("\nthe level of binary tree is %d\n",GetLevel(pRoot));
DeleteBinTree(pRoot);
getch();
return 0;
}
===================================================
天下自考一家人(我花了1:40做出此题)
Crystal_arrow
2002-11-07
打赏
举报
回复
先序就是先根再左后右,中序就是先左中右,后序就是先左再右最后根
就按这种思路编就行!!!
merlinran
2002-11-07
打赏
举报
回复
笔试时出现这个题,你会做吗?好像是必考的题。
把想法提炼成算法,就成了。
xunknown
2002-11-07
打赏
举报
回复
找数据结构的书就有很多例子了啊。
【嵌入式系统】基于XSPI的HyperRAM双片扩展技术:STM32N6外部存储器并行驱动方案设计
内容概要:本文介绍了STM32N6微控制器如何通过单个XSPI接口驱动两片相同的HyperRAM,以扩展外部内存容量。重点阐述了硬件连接方式、XSPIM与XSPI1的配置方法,以及软件初始化流程。通过启用XSPI_DCR1寄存器中的EXTENDMEM位,实现XSPI根据访问地址自动切换片选信号(NCS1/NCS2),从而在内存映射模式下将两片HyperRAM视为连续地址空间使用,简化了多存储器管理的复杂性。; 适合人群:嵌入式系统工程师、MCU应用开发人员,特别是熟悉STM32系列并有外部存储器扩展需求的1-3年经验开发者;; 使用场景及目标:①在机器学习推理、图像/音频处理等大内存需求场景下扩展外部RAM;②优化引脚资源利用,避免使用多个XSPI接口;③掌握STM32N6的XSPI高级配置与内存映射机制; 阅读建议:建议结合STM32CubeMX工具进行配置,并参考ST官方示例工程(如STM32N6-GettingStarted-ImageClassification)进行实践验证,重点关注EXTENDMEM位的使能逻辑与地址空间规划。
html邮箱注册含验证码
打开链接下载源码: https://pan.quark.cn/s/ef04777683de 在超文本标记语言中达成邮箱注册是一项根本且关键的Web开发操作,它关联到用户数据校验、表单递交以及潜在的后台处理环节。本指南将系统性地阐释这一流程,涵盖如何借助正则表达式执行邮箱规范校验以及怎样构建注册验证机制。超文本标记语言是用于构建网页框架的标准语言。当设计邮箱注册界面时,必须运用`
`标记来界定一个表单结构,并借助`
`标记来设立用户数据输入区域,比如电子邮箱地址和验证码字段。譬如: ```html
电子邮箱:
安全码:
完成注册
``` 在上述编码实例中,`type="email"`属性促使浏览器对输入的电子邮箱格式实施初步校验。`required`属性保障用户必须填写这些字段方可递交表单。 随后,我们将探讨正则表达式。在客户端验证电子邮箱规范时,能够通过JavaScript结合正则表达式来深度确认输入的电子邮箱是否合规。例如: ```javascript function validateEmail(email) { var regex = /^[...
高校如何利用AI技术提升知识产权管理质量?.docx
高校如何利用AI技术提升知识产权管理质量?
【C语言基础】操作符详解二
内容概要:本文深入讲解了C语言中结构体的两种成员访问操作符——点(.)和箭头(->),重点剖析其底层原理、使用场景及常见错误。通过定义、口诀、可运行代码示例和嵌套结构体的多层访问分析,清晰地展示了何时使用.(用于结构体变量)和何时使用->(用于结构体指针),并指出->本质上是(*ptr).member的语法糖。文章还详细列举了优先级问
题
、空指针风险、嵌套访问技巧以及动态内存分配下的指针使用规范,帮助开发者从根本上掌握结构体访问机制。; 适合人群:具备C语言基础,正在学习数据结构或指针操作的初学者,以及在实际开发中常混淆.与->使用的初级程序员; 使用场景及目标:①理解结构体成员访问符的底层机制与优先级规则;②正确处理结构体嵌套和指针嵌套场景下的成员访问;③避免因误用.或->导致的编译错误与运行时崩溃; 阅读建议:结合文中提供的完整示例代码进行实践调试,特别关注嵌套结构体和指针访问的层级判断逻辑,强化“每级独立判断是否为指针”的思维习惯,提升代码健壮性。
USB+lib+opencl解码RAW12上位机,QT
USB+lib+opencl解码RAW12上位机,参考源码
C语言
70,040
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章