心希盼C++STL二叉树实现
用 STL 写二叉树的方式,还挺有意思的。心希盼 C++STL binaryTree这个资源,思路蛮巧妙——没有用复杂的模板搞事情,反而是靠一些常见的 STL 容器,比如vector
、stack
、queue
,来实现各种二叉树操作。结构简单,逻辑清楚,新手也能看懂。
节点的写法也标准,直接一个小类搞定,像这样:
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文档还挺值得一看。对了,还有两个相关文章可以顺便看看:
建议看完后自己敲一遍代码,理解会更深。如果你卡在遍历写法上,也可以先从层序开始,比较直观。
16.16KB
文件大小:
评论区