一个多月数据结构与算法的学习经验之谈

Posted 前端开发攻城狮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个多月数据结构与算法的学习经验之谈相关的知识,希望对你有一定的参考价值。

        

今天圣诞节,首先祝大家圣诞节快乐!最近一个多月,一直在Leetcode上学习数据结构与算法,补了很多之前的基础,之后慢慢发现,我对数据结构和算法还停留在很初级阶段,这让我感到异常的恐慌和不安,因为工作都三年多了,对这些基础知识还没办法熟练掌握,实属不该,该好好反思自己这些年来都做了些什么。


        听很多初级开发人员说,数据结构和算法在实际开发中用不到,但真实情况是,熟练掌握了这些,无论你用什么语言,都可以轻车熟路。工作三年有余,我的经验已经证明,你会个Vue,会个React,早已无法成为一个开发人员的核心竞争力,因为你会写别人看个文档基本也会写,而且这些技术框架的门槛在慢慢变低,会的人太多了,边际效应逐年递减。


        这一个多月的数据结构和算法的学习,更加让我坚信,真正的核心竞争力并不是你掌握什么技术框架,真正的核心还是熟练掌握数据结构和算法。数据结构+算法=程序,这个等式是瑞典计算机科学家 Niklaus Wirth,1976年写在《Algorithms + Data Structures = Programs》一书中,即使拿到40多年后的今天,这个等式仍然成立。不由得感叹,前人早已总结出程序的本质,作为后生,心中满是无尽的敬畏之心,只有不断的学习,才能对得起无数前人的努力,不枉费此生。


        说了一些经验之谈,下面把我在数据结构和算法的一些总结贴出来。都是些干货,大部分资源来源于leetcode,一些文章来源于其他平台和我的石墨笔记,练习代码全部用的是C++,语言其实无所谓,关键是核心的设计思想,希望能对一些程序员有一定的积极影响。

 

仓库会持续更新,直到练习完leetcode上80%的算法题,代码有什么问题,可以在github上提issue,欢迎关注!


数据结构与算法(Data Structure and Algorithm)

相关文献(Relative Articles)

  • 维基百科算法大全

  • 维基百科数据结构大全

  • 算法的时间与空间复杂度

  • 数据结构的基本知识总结

  • 二叉树的遍历详解(前序中序后序层次-递归和非递归)

  • 视觉直观感受7种常用的排序算法

  • 素数生成算法

  • 红-黑树

  • 堆(Heap)

排序算法(Sorting Algorithm)

  • 冒泡排序(Bubble Sort)

  • 选择排序(Selection Sort)

  • 插入排序(Insertion Sort)

  • 归并排序(Merge Sort)

  • 快速排序(Quick Sort)

  • 堆排序(Heap Sort)

  • 桶排序(Bucket sort)

  • 计数排序(Counting Sort)

  • 基数排序(Radix Sort)

  • 排序算法大全

常用数据结构(Basic Data Structure)

  • 链表(Linked List)

  • 二叉树(Binary Tree)

  • 霍夫曼编码(Huffman Coding)

  • 队列(Queue)

  • 栈(Stack)

  • 集合(Set)

  • 哈希表(Map)

  • 堆(Heap)

  • 图(Graph)

学习工具(Learning Tools)

  • LeetCode

  • 领扣中国

  • C++教程

  • 看云数据结构与算法/leetcode/lintcode

  • 可视化算法Algorithm Visualizer

  • 旧金山大学数据结构和算法的可视化学习工具

  • 可视化排序算法Sorting

  • 动画学习算法和数据结构VisulaGo

LeetCode标签(LeetCode Tags)

  • 数组

  • 动态规划

  • 字符串

  • 数学

  • 哈希表

  • 深度优先搜素

  • 二分查找

  • 双指针

  • 广度优先搜索

  • 贪心算法

  • 回溯算法

  • 设计

  • 链表

  • 位运算

  • 排序

  • 分治算法

  • 并查集

  • 二叉搜索树

  • 字典树

  • 递归

  • 队列

  • 线段树

  • Random

  • 树状数组

  • 极小化极大

  • 拓扑排序

  • 脑筋急转弯

  • 几何

  • Map

  • Rejection Sampling

  • 蓄水池抽样

  • 记忆化


推荐阅读



以上是关于一个多月数据结构与算法的学习经验之谈的主要内容,如果未能解决你的问题,请参考以下文章

万字长文!推荐系统岗面试经验&学习心得

学习深度学习过程中的一些经验与方法

机器学习总结

分类与监督学习,朴素贝叶斯分类算法

分类与监督学习,朴素贝叶斯分类算法

全部文章分类与整理(算法+数据结构+计算机基础),持续更新