大家好,我现在正在学习数据结构,但是编写主函数成拉我完成实验报告的大问题,anybody can help me?关于数据结构几个典型的问题,就是教几招学习数据结构的方法也可以呀

热心网友

好的资源: 数据结构是计算机专业最重要最基础的一门课,对于有过编程经验的人,结合自己的编程体会去悟它的思想;对于初学者,捡一种自己最熟悉的语言去分析它总之千万不要陷在语言的细节上要高屋建瓴的去领会数据结构的思想。而且我觉得随着编程经历的丰富对它的体会越深入,最初接触是对一些思想可能只是生硬的记忆,随着学习的深入逐渐领悟了很多。奉劝孔孔不要灰心,对于实在弄不懂的东东,就先记住,应付过考试再说。个人学习心得  至于如何学习数据结构,我个人认为合适的方法是,首先从根本上就要认识到数据结构的本质,数据结构和算法之间的密切关系,以及数据结构的应用方法。不然我们很可能陷入各种数据结构的复杂特性中却还根本不知道到底什么才是数据结构的本质,学了很多很久却其实什么都没有弄明白,在这里我说点我个人的一点关于数据结构本质的东西:  学好数据结构最重要的是对程序设计方式和程序语言概念和实现的理解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也可以进面向对象的编程呢?关键就在C很好的支持ADT了。他可以用复杂了ADT去代替C++中已经变成基本数据类型的CLASS,但是正是因为要用C完成OO,必须程序员来实现(定义ADT)。所以说,C不适合开发OO软件。而C++却恰恰把CLASS定义成了一个基本类型,这样就完成了OO 这一个层次的抽象。当然由于C++是C的超集,他同样是完全支持面向过程的。  说了这么多,就是想说说数据结构和程序语言和设计思想的关系。当我们能把数据结构的学习和程序设计语言,程序设计想法相联系起来的时候,我想我们对数据结构本身的认识已经更加深刻了,我们学习到每一种的新的数据结构的时候我们不再恐慌,因为我们知道了任何一种数据结构都有其共同的共性和特殊的特性,每一种数据结构都是为了一个领域所现实的,从这一方面来说,数据结构本身就具有继承特性,我们可以用一个继承树来表示一个完整的数据结构体系,而每一种数据结构都是继承体系中的一个子节点。  最后在这里我推荐几本我觉得比较出色的数据结构方面的教材:  《数据结构与算法------面向对象的C++设计模式》 电子工业出版社出版。在amazon上是五星评价,个人认为其对数据结构的整体描叙和对各种应用算法十分出色。  《Algorithm in c++ I-V》是RS的著作《Algorithm in c》的C++版本,完整的描叙了各种算法,amazon上五星评价,高等教育出版社有其影印版。  《data structrus in C++ with STL》 使用C++标准模板库来描叙数据结构,是使用泛型设计的方法描叙数据结构的一本全面教材。清华出版了中文版,但有其影印版。 。

热心网友

支持楼上的。