心希盼C++STL二叉树实现

用 STL 写二叉树的方式,还挺有意思的。心希盼 C++STL binaryTree这个资源,思路蛮巧妙——没有用复杂的模板搞事情,反而是靠一些常见的 STL 容器,比如vectorstackqueue,来实现各种二叉树操作。结构简单,逻辑清楚,新手也能看懂。

节点的写法也标准,直接一个小类搞定,像这样:

class Node {
public:
  int value;
  Node* left;
  Node* right;
  Node(int val) : value(val), left(nullptr), right(nullptr) {}
};

你可以用vector来组织树的结构,用queue搞层序遍历,用stack做后序。响应也快,代码也简单。像想在搜索、排序这类场景里加点数据结构优化的,就挺合适。

文档里还有多小技巧,比如怎么用lower_bound定位插入位置,怎么删除节点时的各种情况,都讲得比较细。实际项目里要自己手撸二叉树逻辑,用这份资料参考下,效率能高不少。

如果你平时喜欢用 C++写点结构类的东西,或者在刷 LeetCode 想优化下写法,这份心希盼 binaryTree.doc文档还挺值得一看。对了,还有两个相关文章可以顺便看看:

建议看完后自己敲一遍代码,理解会更深。如果你卡在遍历写法上,也可以先从层序开始,比较直观。

rar 文件大小:16.16KB