我们学习c语言是学习如何编写程序,而数据结构可以帮助我们如何简洁高效的编写程序,那如何提升数据结构体的算法能力呢?
当我们遇到一个实际的问题,需要写程序去解决,我们需要解决的是两方面的问题,一是如何表达数据之间的逻辑规律及如何将数据存储到计算机中,二是采用什么方法来解决问题。这两个方面可以直接概括为:
数据结构:也就是数据之间的关系
算法:解决问题的方法
由此可见,如何提升数据结构的算法能力,其实就是如何更好的培养自己去解决问题能力的同时,采取最合理的方法。
当我们遇到一个算法问题,我觉得解决问题所需要的技能可以大致分为以下几个方面:
1.数据结构方面的基础理论知识
2.算法的知识
3.数据结构和算法知识的应用
第一第二可以说是我们提升自己算法能力的“基元”,也可以说它就相当于人体的基本单位-细胞。只有将这些基本的理论用法掌握清楚,我们才能去应用。简单来说,你不理解数组、链表、树、图分别的特点及使用方法,当你遇到问题,最适合的方式就没有办法进行比较选择。
第三点就需要涉及到如何将数据结构和算法应用于特定的场景,有一些特点的数据之间关系的表示,它就仅仅只使用于特定的方式进行表示,特定的算法结合使用实现数据之间的运算。例如:学校运动会,学生参加运动会项目,同一时间只能进行一项运动,但是我们学校每个项目时间安排表是已经确定的,且同一时间不可能只进行一个运动项目,那这种情况的话特定的情况下,我们需要采用的就是图形结构,既然逻辑存储结构已经确定,用什么样的算法实现就可以清晰明了了。
针对于第三点,在第一和第二点的基础上,更多的就是要学会处于不同的场景,抓住数据之间关系的本质,当然这个离不开对基础知识的熟练掌握。
提升这三个方面的小建议:
1.数据结构的学习之前,我觉得我们应该首先将c语言的基础打扎实。很多人在编程过程出现很多bug,不知道怎么入手解决,其实很多时候c语言够扎实你会发现很多问题都和c语言基础中的知识点有关。
2.对于数据结构的学习,建议大家分版块学习练习,总结使用区别、算法特点。
3.所有的学习都离不开重复的练习和大量的使用。
4.学会有意识的去培养自己思考问题的逻辑思维、遇到问题的分析能力。
以上就是关于如何提升数据结构的算法能力的一些小建议,希望对大家有所帮助。