最近一直想找一本纯数据结构的书来学习,找来找去都没有找到一本合适的书籍,相比之下国内的书籍之中,严蔚敏和吴伟民的还算是经典版了,很多国内其他数据结构教材都参考这本书的。但缺点是很多都是伪代码,对编程初学者来说有一些难度,甚至有些考研的同学来看这本书有很多还看不懂,并且里面也有些容易迷惑人的地方。出于对自己数据结构知识的巩固和给那些考研的同学学习这本书一个参考,我决定对这本书中大部分的伪代码用C做一下描述。
首先解释一下本书中容易使人迷惑的地方:
1 一些使用的类型和变量
如:ElemType,Status,OK,OVERFLOW等,这些都是一些伪代码的描述,我们若是想在代码中使用它们,仍需对其定义。如:
typedef int ElemType;
typedef int Status; (注:由于C中没有bool类型,故定义为int).
enum{OVERFLOW,OK};
2 &的使用
这个操作符,在我们的位运算中属于与操作:
如: 1000 & 1000 = 1000;
1000 & 0001 = 0000;
在C中除了兼容上面操作符以外,还重载为了取地址操作符,也可说为取指针操作符,即取一个变量的指针。
在C++中不但兼容了上面两种形式,又重载了一种形式,取引用操作符,这个和取地址有些类似,但在用法上有些区别。
而在本书中的伪码中出现了很多这个符号,根据作者的意思,我们应该理解为引用。但引用确实是C++中的操作符,本书表明的是C语言描述,这点确实会令许多朋友对此迷惑不解。这里我们就把它理解为取地址就可以了,所说它在很多函数的生命中出现了。但不妨碍我们这样去理解他。
好的,就先解释这么多,其他有的地方会在各个章节中再给出来。
由于我也是在学习中总结,有不当之处,望请指正,大家共同进步.
下面让我们开始我们的数据结构之旅吧。祝大家好运。