我有两道数据结构的问题 希望能给出详细解答和做题步骤? 什么是算法
\u7b97\u6cd5\u7684\u6982\u5ff5\u4e00\u5206\u949f\u4e86\u89e3\u7b97\u6cd5
主要是最近几天后台有读者问我是如何学习数据结构与算法的,有没有什么捷径,是要看视频还是看书,去哪刷题等.....而且有些还是大三大四的,搞的我都替你们着急、担心.....
所以我今天就分享下自己平时都是怎么学习的。
学习算法的捷径就是多刷题
说实话,要说捷径,我觉得就是脚踏实地着多动手去刷题,多刷题。
但是,如果你是小白,也就是说,你连常见的数据结构,如链表、树以及常见的算法思想,如递归、枚举、动态规划这些都没学过,那么,我不建议你去刷题的。而是先去找本书先去学习这些,然后再去刷题。
也就是说,假如你要去诸如leetcode这些网站刷题,那么,你要先具备一定的基础,这些基础包括:
1、常见数据结构:链表、树(如二叉树)。
2、常见算法思想:贪婪法、分治法、穷举法、动态规划,回溯法。
以上列出来的算是最基本的吧。就是说你刷题之前,要把这些过一遍再去刷题。如果你连这些最基本的都不知道的话,那么你再刷题的过程中,会很难受的,思路也会相对比较少。
总之,千万不要急,先把这些基本的过一遍,力求理解,再去刷题。这些基础的数据结构与算法,我是在大一第二学期学的,我没看视频,我是通过看书学的,那时候看的书是:
1、算法分析与分析基础:这本比较简单,推荐新手看。
2、数据结构与算法分析---C语言描述:代码用C写的,推荐看。
3、挑战程序设计竞赛(第二版):也是很不错的一本书,推荐看。
扩展阅读:扫一扫题目出答案 ... 数据分析的五个步骤 ... 数据分析柱状图 ... 如何用数据分析解决问题 ... 常见数据分析图表 ... 对于协商问题和希望 ... 销售数据分析主要内容 ... 最希望解决的实践问题 ... 希望公司解决的问题 ...