用 Go 撸一个二叉搜索树

鸟窝 at 
用Go撸一个二叉搜索树的配图
前几天 Redis 的作者 antirez 说他朋友面试的时候考到排序问题,然后他说要是他也会考实现一个二叉搜索树,我说在中国某公司,据说面试直接就撸一个红黑树。不是说你技术渣,试问在座的各位有几个现在直接裸写出红黑树?红黑树太过偏门,但是常用的二叉搜索树你能写出来吗?快排呢?堆排序呢?什么是二叉搜索树二叉搜索树(binary search tree,BST)也叫排序的二叉树,根节点比左边子树的所有节点都大,比右边子树上的所有节点都小,如下图就是一个二叉搜索树:要实现一个二叉搜索树, 我们需要实现节点的插入和删除,要实现节点的查找(搜索),要实现前序遍历、中序遍历和后序遍历,要实现最大节点和最……