今天圣诞节,首先祝你们圣诞节快乐!最近一个多月,一直在Leetcode上学习数据结构与算法,补了不少以前的基础,以后慢慢发现,我对数据结构和算法还停留在很初级阶段,这让我感到异常的恐慌和不安,由于工做都三年多了,对这些基础知识还没办法熟练掌握,实属不应,该好好反思本身这些年来都作了些什么。html
听不少初级开发人员说,数据结构和算法在实际开发中用不到,但真实状况是,熟练掌握了这些,不管你用什么语言,均可以轻车熟路。工做三年有余,个人经验已经证实,你会个Vue,会个React,早已没法成为一个开发人员的核心竞争力,由于你会写别人看个文档基本也会写,并且这些技术框架的门槛在慢慢变低,会的人太多了,边际效应逐年递减。git
这一个多月的数据结构和算法的学习,更加让我坚信,真正的核心竞争力并非你掌握什么技术框架,真正的核心仍是熟练掌握数据结构和算法。数据结构+算法=程序,这个等式是瑞典计算机科学家 Niklaus Wirth,1976年写在《Algorithms + Data Structures = Programs》一书中,即便拿到40多年后的今天,这个等式仍然成立。不禁得感叹,前人早已总结出程序的本质,做为后生,心中尽是无尽的敬畏之心,只有不断的学习,才能对得起无数前人的努力,不枉费今生。程序员
说了一些经验之谈,下面把我在数据结构和算法的一些总结贴出来。都是些干货,大部分资源来源于leetcode,一些文章来源于其余平台和个人石墨笔记,练习代码所有用的是C++,语言其实无所谓,关键是核心的设计思想,但愿能对一些程序员有必定的积极影响。
github
笔记仓库地址: github.com/chachaxw/da…算法
仓库会持续更新,直到练习完leetcode上80%的算法题,代码有什么问题,能够在github上提issue,欢迎关注!数组