【王道数据结构】【chapter5树与二叉树】【P158t7】

假设二叉树采用二叉链表存储结构存储,试设计一个算法,计算一颗给定二叉树的所有双分支节点的个数

cpp 复制代码
#include <iostream>
#include <stack>
typedef struct treenode{
    char data;
    struct treenode *left;
    struct treenode *right;
}treenode,*ptreenode;

ptreenode buytreenode(char x)
{
    ptreenode n=(ptreenode) malloc(sizeof (treenode));
    n->data=x;
    n->left= nullptr,n->right= nullptr;
    return n;
}
ptreenode build_tree()
{
    ptreenode root= buytreenode('A');
    root->left= buytreenode('B');
    root->right= buytreenode('C');
    root->left->left= buytreenode('D');
    root->left->right= buytreenode('E');

    root->right->left= buytreenode('F');
    root->right->right= buytreenode('G');
    return root;
}

int count(ptreenode root)
{
    if(root== nullptr) return 0;
    if(root->left&&root->right) return count(root->left)+ count(root->right)+1;
    else return count(root->left)+ count(root->right);
}
int main() {
    ptreenode root=build_tree();
    printf("%3d\n", count(root));
    return 0;
}
相关推荐
SweetCode4 分钟前
裴蜀定理:整数解的奥秘
数据结构·python·线性代数·算法·机器学习
ゞ 正在缓冲99%…18 分钟前
leetcode76.最小覆盖子串
java·算法·leetcode·字符串·双指针·滑动窗口
xuanjiong18 分钟前
纯个人整理,蓝桥杯使用的算法模板day2(0-1背包问题),手打个人理解注释,超全面,且均已验证成功(附带详细手写“模拟流程图”,全网首个
算法·蓝桥杯·动态规划
小郝 小郝30 分钟前
【C语言】strstr查找字符串函数
c语言·开发语言
Zhichao_9736 分钟前
【UE5 C++课程系列笔记】33——商业化Json读写
c++·ue5
惊鸿.Jh37 分钟前
【滑动窗口】3254. 长度为 K 的子数组的能量值 I
数据结构·算法·leetcode
明灯L38 分钟前
《函数基础与内存机制深度剖析:从 return 语句到各类经典编程题详解》
经验分享·python·算法·链表·经典例题
碳基学AI44 分钟前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义免费下载方法
大数据·人工智能·python·gpt·算法·语言模型·集成学习
补三补四1 小时前
机器学习-聚类分析算法
人工智能·深度学习·算法·机器学习
独好紫罗兰1 小时前
洛谷题单3-P5718 【深基4.例2】找最小值-python-流程图重构
开发语言·python·算法