二叉排序树BST+求树深度算法

二叉排序树BST+求树深度算法include stdio h include malloc h typedefstruc intkey structnode lchild rchild BSTNode BSTree voidInsertBS BSTree bst intkey BSTrees if bst NULL s

#include "stdio.h" #include "malloc.h" typedef struct node { int key; struct node *lchild, *rchild; }BSTNode, *BSTree; void InsertBST(BSTree *bst, int key) { BSTree s; if (*bst == NULL) { s = (BSTree)malloc(sizeof(BSTNode)); s->key = key; s->lchild = NULL; s->rchild = NULL; *bst = s; } else if (key<(*bst)->key) InsertBST(&((*bst)->lchild), key); else if (key > (*bst)->key) InsertBST(&((*bst)->rchild), key); } void CreateBST(BSTree *bst) { int key; *bst = NULL; scanf("%d",&key); while (key != 0) { InsertBST(bst, key); scanf("%d",&key); } } void inorder(BSTree bt) { if (bt != NULL) { inorder(bt->lchild); printf("%3d",bt->key); inorder(bt->rchild); } } int FindTreeDeep(BSTree BT){ int deep=0; if(BT){ int lchilddeep=FindTreeDeep(BT->lchild); int rchilddeep=FindTreeDeep(BT->rchild); deep=lchilddeep>=rchilddeep?lchilddeep+1:rchilddeep+1; } return deep; } int main() { BSTree bt; CreateBST(&bt); inorder(bt); printf("\n"); printf("%d\n",FindTreeDeep(bt)); getchar(); return 0; }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231031.html原文链接:https://javaforall.net

(0)
上一篇 2026年2月2日 下午12:01
下一篇 2026年2月2日 下午12:22


相关推荐

  • Docker搭建n8n时,如何解决容器重启后数据丢失问题?

    Docker搭建n8n时,如何解决容器重启后数据丢失问题?

    2026年3月15日
    3
  • linux安装、卸载jdk及配置环境变量

    linux安装、卸载jdk及配置环境变量一、查看Jdk的安装路径:whereisjavawhichjava(java执行路径)echo$JAVA_HOMEecho$PATH二、卸载旧版本的JDK:1.确定JDK的版本:rpm-qa|grepjdkrpm-qa|grepgcj结果:copy-jdk-configs-2.2-5.el7_4.noarchjava-1.8.0-openjdk-headless-de…

    2022年6月25日
    27
  • spring 事务传播行为实例分析

    spring 事务传播行为实例分析欢迎转载和指正 转载时请说明来源

    2026年3月18日
    3
  • 英语音标学习

    英语音标学习英文字母 共 26 个 名称音 指的是字母在字母表 26 个 中的发音发音 指的是字母在单词中的发音元音字母 同一个字母在不同的单词中会有不同的发音 比如字母 a 辅音字母 同一个字母在不同的单词中发音一致 比如字母 p 音标 共 48 个 单词发音的最小单位 一个单词的发音是由多个音标组合成的 每个音标都有自己的读法和写法 每个英文字母都能找到对应的音标 每个音标都能找到相应的字母

    2026年3月18日
    2
  • SKU与SPU的区别

    SKU与SPU的区别博客园的解释 做订单系统中 遇到这两个名词 在网上查了下解释 记录下 1 SKU StockKeeping 库存量单元 SKU 是商品下的一个分类属性 商品下一个颜色或者尺码 2 SPU StandardProd 标准化产品单元 SPU 是一个商品编码一个 SPU 可以对应多个 SKU 简单的说 SPU 就是一个 iPhone6s SKU 就是银色

    2026年3月26日
    2
  • Docker快速入门总结笔记

    Docker快速入门总结笔记Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。…

    2022年6月29日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号