【王道数据结构】【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;
}
相关推荐
知来者逆16 分钟前
计算机视觉——速度与精度的完美结合的实时目标检测算法RF-DETR详解
图像处理·人工智能·深度学习·算法·目标检测·计算机视觉·rf-detr
阿让啊20 分钟前
C语言中操作字节的某一位
c语言·开发语言·数据结构·单片机·算法
এ᭄画画的北北21 分钟前
力扣-160.相交链表
算法·leetcode·链表
拾忆-eleven36 分钟前
C语言实战:用Pygame打造高难度水果消消乐游戏
c语言·python·pygame
草莓啵啵~1 小时前
搜索二叉树-key的搜索模型
数据结构·c++
共享家95271 小时前
深入理解C++ 中的list容器
c++
孞㐑¥1 小时前
C++11介绍
开发语言·c++·经验分享·笔记
云小逸1 小时前
【QQMusic项目界面开发复习笔记】第二章
c++·qt
李匠20241 小时前
C++ RPC以及cmake
网络·c++·网络协议·rpc
爱研究的小陈1 小时前
Day 3:数学基础回顾——线性代数与概率论在AI中的核心作用
算法