当前位置: 移动技术网 > IT编程>脚本编程>Python > 知识大整理--恶人恶语--学习数据结构与算法的方法

知识大整理--恶人恶语--学习数据结构与算法的方法

2020年07月10日  | 移动技术网IT编程  | 我要评论

恶人恶语之学习数据结构与算法的方法

 

很多人读计算机专业时,学习了数据结构与算法,这门课。大多数人,都反映,不知道,怎么学数据结构与算法,怎么提高自己的算法水平,怎么训练习。

 

我以我个人经历,学习方法,训练方法,来与大家做一个分享。

 

算法决定了采用何种数据结构。对于同一个问题,有多种求解方法,不同的算法,直接决定了耗时的不同。不懂算法的人,可能解决了问题,就算了。不知道,自己的算法执行效率是多少。自己的算法,采用了何种思想。这种思想,有何问题。还有没有提高的空间。怎么去改进。

 

先来聊聊,数据结构。数据结构就是数据的组织形式。常见的,有链表,数组,集合,队列,树,图等等。数据结构,难学在于教材,老师。很多教材,会偏理论。在理论的介绍,花了很大的功夫。各种抽象,理论的证明,公式。但是,缺少图例,来介绍每一个步骤。缺少一个完整的程序,供初学者去学习,调试。那么,更谈不上,学习者,怎么去模仿。缺少真实数据。没有真实的数据,没有完整的程序,以及程序的运行图解。基本上,是学不会的。理解上来,就很费劲。更谈不上,自己完成相关的题目,实现了。

 

那么,初学者,要看那些书????由于,避免有广告的嫌疑。我只能说,怎么选书吧。书,要满足,以下要素。第一,有图例,解释每一个步骤。第二个,要有完整的代码。我说的,完整的代码,可以直接运行的。非伪代码。第三,代码里面,要有真实的数据。初学者,可以拿真实的代码,直接运行,调试,加深理解。个人认为,这三个要素,必需同时满足。

 

说完书,那我说说,学习方法吧。第一,将书上的代码,运行。然后,自己画图。画出每一个步骤的图的。数据是怎么变化的。学习数据结构,必须画图。不画图,就是纸上谈兵。把自己的画图,跟程序的步骤图,做一下对比。看看,是否一致。那里是自己有误。换一批数据,来测试。直到,自己完全读懂这个程序。尤其,链表,图,树,等知识。

 

上述是数据结构的学习方法。下面,我们来说一下,算法。

 

算法的学习,基本也和数据结一样。其实,这不是最难的。最难的,是自己提高算法。我自己是建议,用leetcode来训练。那么,怎么训练。第一,根据,leetcode上面的题目,写出第一个解。然后,看这个算法的成绩。解出来了,也不要就此满足了。你要反思,自己的解题思路是什么。在那里耗时了。为什么耗时。怎么减少耗时。不停的改写自己的程序,自己每一个版本写一个备注,这个版本比上个版本,提高了那里。把每个版本的leetcode成绩写上。直到自己满意为止。然后,你可以去看题解。看看讨论区的人,解题思路。为什么,他可以这么写,原理是什么。经过,这样的训练,你的水平,会得到讯速的提高。

 

上述,是我自己的学习数据结构与算法的方法,以及训练方法。如有不妥的地方,还请大家提出来。

 

好了,我是恶魔。这期的恶人恶语,就此结束。

本文地址:https://blog.csdn.net/geniikid/article/details/107240426

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网