数据结构与算法随机复习–Day1

说明:本系列文章面向数据结构与算法复习,除了基础知识复盘还有很多裨益小思考,考研保研笔试面试可用,要备战大厂应聘则难度偏低,因为不涉及dp等高阶应用算法、海量数据优化处理和边界条件等特细节考量。复习采用

{手写代码(多是C++)→AI辅助诊察(Loop【→返修→AI辅助诊察】)→讨论与总结}

的形式开展,更新不定期,欢迎持续关注,有更优解法可以直接在评论区呈现。

Day1直接上二叉树里面的热门考点------统计节点数和叶子节点(度为2)数,组合起来可以计算内部节点数。对于完全二叉树(Complete Binary Tree)的场景,也可以直接通过总节点数计算叶子结点数。核心思路是递归调用,可以使用AI后面建议的双递归或者单递归调用(我的一种实现)😄。

说明:此处省略二叉树结构体(我认为不能使用类)的定义,在main函数内部用...占位。

一、普通二叉树总节点数计算(完全二叉树可导出计算叶子结点数)

二、普通二叉树叶子节点数目计算

三、裨益思考与AI辅助诊察

可读性更强但占用更多栈空间(优化方向)的双递归(总节点个数只需要在return表达式内+1)

int countLeafNodes(btree* root) {

if (root == nullptr) return 0;

if (root->left == nullptr && root->right == nullptr) return 1;

return countLeafNodes(root->left) + countLeafNodes(root->right);

}

写在最后:为提升创作便捷性,建议CSDN官方在手机移动端加入新建文章分类标签、插入代码块和建目录的功能!!!😎😎😎🤗🤗🤗

相关推荐
蛋先生DX29 分钟前
大模型参数存储格式揭秘:BF不是男朋友
深度学习·算法·llm
爱跳舞的烤冷面1 小时前
自学嵌入式第22天(数据结构——哈希)
数据结构·算法·哈希算法
猎嘤一号1 小时前
博弈论(Game Theory)的理论、算法与工程
人工智能·算法·安全·博弈论
马拉AI2 小时前
腾讯开源 Agent 记忆系统,AI“换对话就忘”的问题有了新解法(附安装使用教程)
人工智能·算法·开源·科研
C++ 老炮儿的技术栈3 小时前
从 Qt Designer 属性编辑器的层级可以看到继承链
c语言·数据库·c++·qt·sqlite·visual studio
MC皮蛋侠客3 小时前
Redis 系列(一):全景与最小闭环——从 `SET` 命令到内存数据结构
数据结构·数据库·redis
疯狂打码的少年3 小时前
【数据结构】队列:定义、顺序队列与链式队列
数据结构·笔记
new_zhou3 小时前
C++ 项目 AI 协作指南(Windows / MSVC 环境)
c++·人工智能·windows
地平线开发者3 小时前
征程6工具链模型X86推理方式说明
算法
地平线开发者3 小时前
【征程6】校准量化中HistogramObserver解析
算法