叨叨两句
颓废了一年,最终还是回来北漂,很多事都不尽人意,也想了很多,还是决定鼓起勇气继续前行。
很幸运接触到王争大佬《数据结构与算法之美》系列专栏,让自己又有了学习的动力。想起大学期间,辅导老师带着我们刷题参加比赛的那段日子,或许那是人生中编程最快乐的时光。最后,借王争大佬的开篇词,激励自己:
“人生路上,我们会遇到很多的坎。跨过去,你就可以成长,跨不过去就是困难和停滞。而在后面很长的一段时间里,你都需要为这个困难买单。对于我们技术人来说,更是这样。”
数据结构与算法
首先,什么是数据结构,什么又是算法?
-
广义来讲:
- 数据结构:某类数据的存储结构
- 算法:操作数据的方式方法
举例:图书馆中把书籍进行分类,不同的书籍按照“编号-类型”分配到不 同的书架上(eg:001 -人文类、002-科普类等),那么用于分类的“书架”就是存储书籍的数据结构;而图书馆管理员通过书籍类型编号定位到书架,再找到指定的书籍,这种操作方式就可以称之为算法。
-
狭义来讲:
也是即将要学习的内容
- 数据结构: 数组、链表、队列、堆、栈、散列表、二叉树、跳表、图、Trie树 等
- 算法: 递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法 等
小结
数据结构和算法是相辅相成的,这也是为什么数据结构和算法经常放在一起讲,数据结构是为算法服务,算法要作用到特殊的数据结构上。
重点内容:复杂度分析
学习具体的数据结构与算法之前,需要理解一个很重要的概念-复杂度分析:
数据结构和算法是让我们更快、更省的解决问题,而如何选对正确的数据结构与算法,这就需要考量执行效率和资源消耗两个方面,那么进行复杂度分析是不可或缺的环节。
更新中...
网友评论