数据结构与算法,是计算机的核心课程之一,是程序员武功体系的内功,想成为武林高手必须内功过硬,作为一个非科班码农,面试时因为内功不强而碰壁数次,使我真实的体验到学好数据结构与算法的重要性,为了不在这个方面继续碰壁,也为了能在软件开发工程师的道路上走的更远更快,我决心集中精力学习突破这道关口(以前也做过比较全的学习计划,但贪多嚼不烂,这个学一点,那个看一下,最终的看完了也忘完了,所以一次只做一件事是对的)。
抱着试试看的态度,我订购了极客时间上的学习专栏--数据结构与算法之美,王争老师讲的很好,我过了一遍,但因为没有严格手动实现相关的算法,所以也忘的差不多了,所以决定复习一遍,这一遍会逐个的实现相关的算法,力求把常用的十种数据结构、十种算法掌握好,知识就这么些,只要我真的花时间学了,一定能掌握,加油!仅以记录我的学习足迹吧。
今天复习了入门篇的前四节,
第一节主要讲了学习数据结构与算法的意义,主题是想要在程序员的道路上走的更远、更好、更快,扎实的数据结构与算法功底是不可或缺的,不再赘述。第二节主要讲了学习数据结构与算法的方法,要点包括,重点学习常用的数据结构与算法、边学边练适度刷题、多问多思考多互动、打怪升级学习法、耐心高效的沉淀知识。第三节主要讲了时间复杂度和空间复杂度的概念,及估算时间、空间复杂度的方法,常见的时间有复杂度O(1), O(logn), O(n) , O(nlogn), O(n!), O(2^n)。第四节主要讲了最好时间复杂度、最差时间复杂度、平均时间复杂度和均摊时间复杂度的概念及估算方法;