网上下了一本教材,看看其内容,不禁开始吃鲸起来。我们的国家的栋梁之材就天天学习这样的教材。
国内外教材但凡多参考也不至于差到如此地步。清华严蔚敏的那本参考一下也不至于写出这么差的教材。
而且用C++实现。C++被误导,误教,不足为奇了。大家觉得C++难,能不难么?我大学看到我们南航本科生的C++教材简直眼镜都要掉下来。
我们来简单的分析一下:
这个接口打算用来遍历二叉树,遍历不提供迭代器也就算了。又不想暴露内部节点结构,只返回节点里的值。只返回节点里的值也就算了,居然还返回的是拷贝,而不是引用或者常引用。
这个写书的人你过来我保证不打死你!!
由于大量的反复调用find来遍历,就使得成本高昂,不知道提供这种接口用来干嘛?这还是数据结构的思想吗?效率何在?
如果没有迭代器,就应该老老实实暴露内部节点。参考我的实现:
C++实现二叉搜索树:增删改查等几乎所有常用接口 【更新日期:2018-05-11】
如果想真正实现遍历,不暴露内部接口,就应该实现迭代器:
Vector 动态数组(迭代器)9 赞同 · 0 评论文章
下面是我根据十年工作经验给新人写的精简教程:
C++自学精简实践教程 目录(必读)