分类：电脑/网络-程序设计
问题：请问数据结构该怎么复习？ 
回答：学好数据结构最重要的是对方式和程序语言概念和实现的理解int i;int i[];struct i{};ADT i{};到底有什么区别，这就是程序设计语言实现的问题了。定义了一种数据类型就是定义了一类操作int i,j;i=j+1;这样的操作在语言本身中实现了，也就是说你不需要关心这样的操作程序语言是如何完成的，所以int就是基本数据类型抽象了基本数据类型的就是数据结构。当你定义了ADT P{}；的时候，比如如果P是链表，这就要你去实现它各种的操作。而且P能够完成的所有操作都必须由你去实现，而你实现得基础就是这些char int float *p...基本数据类型。这就是抽象数据类型。当你把类型定义完成后，剩下的就是算法去完成程序流程的控制。所以：数据结构+算法=程序还想说点的是，设计思想，程序设计语言，和数据结构，始终是促进计算机软件科学发展的最大动力。一般来说都是思想先与语言，然后出现支持这种思想和包含这样思想的数据类型的语言实现。具体说：面向机器编程 机器语言，汇编语言面向过程编程 C。。。。语言面向对象编程 JAVA C++当然思想毕竟只是思想，你可以用不同的语言实现。但必须说明的是只能用一个层面上的语言实现。比如，机器语言，由于其语言本身抽象层很低，低到了就像给一个对象赋值的操作也要程序员进行位操作。而，C语言本身就支持了这样的操作 int i,j; i=9... 所以想用机器语言完成面向过程的编程几乎不可能，因为在语言实现这个层面上，它不支持。为什么说C也可以进面向对象的编程呢？关键就在C很好的支持ADT了。他可以用复杂了ADT去代替C++中已经变成基本数据类型的CLASS，但是正是因为要用C完成OO，必须程序员来实现（定义ADT）。所以说，C不适合开发OO软件。而C++却恰恰把CLASS定义成了一个基本类型，这样就完成了OO这一个层次的抽象。当然由于C++是C的超集，他同样是完全支持面向过程的。