这可能是国内最好的数据结构教科书了
2016-05-18
作者很用心。 最新版已经是全彩图的了,国内少有。
个人觉得这本书也有美中不足的地方。
比如说:
1.全书中的(lo + hi) >> 1 可以改为 (lo + hi)/ 2 ;
因为随着优化器的技术的进步,现代常用的编译器都可以对后一种情况进行优化成前面的形式。不必为了所谓的性能降低可读性;
2.众所周知,cpp资源管理一直都是很容易出错的。只要保证RAII和谁申请谁释放这两个原则就不会有问题。书中BinNode由上层的Tree来释放资源,很容易就内存泄漏了;
3.没有对拷贝构造和赋值拷贝这两个函数进行处理;
4.对BinNode进行操作的宏太多了,放到BinNode里成为静态成员函数会更好一点。宏这东西是没有类型的,书中的宏既有对BinNode处理的有对BinNode*处理的,根本分不清.
5.图结构也有问题,当删除点之后,之前送到外面的比当前节点索引大的会失效,指向错误的节点。
加一个getIndex(),remove节点之后重新获取节点编号