【王道数据结构】【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;
}
相关推荐
weiabc13 小时前
今日C/C++学习笔记20260223
c语言·c++·学习
CoovallyAIHub13 小时前
AAAI 2026 | 华中科大联合清华等提出Anomagic:跨模态提示零样本异常生成+万级AnomVerse数据集(附代码)
深度学习·算法·计算机视觉
悲伤小伞13 小时前
9-MySQL_索引
linux·数据库·c++·mysql·centos
博界IT精灵13 小时前
王道书3.4.3:特殊矩阵的压缩存储
数据结构·考研·矩阵
npupengsir13 小时前
nano vllm代码详解
人工智能·算法·vllm
m0_5698814713 小时前
C++中的组合模式高级应用
开发语言·c++·算法
m0_7301151113 小时前
高性能计算负载均衡
开发语言·c++·算法
busideyang13 小时前
STC8H单片机delay_ms函数闪烁不准?原因是参数溢出!
c语言·单片机·嵌入式硬件·嵌入式
灰色小旋风13 小时前
力扣19删除链表的倒数第N个结点(C++)
c++·算法·leetcode·链表
孞㐑¥13 小时前
算法—记忆化搜索
开发语言·c++·经验分享·笔记·算法