谈算法与数据结构的学习



2019-11-10 21:05 
bangerlee 
阅读(464
评论(0
编辑 
收藏 
举报

算法与数据结构曾是我薄弱的一块,甚至产生过畏难情绪、一度怀疑自己是否能够掌握这方面技能。

 

18年8月,我下决心通过做LeetCode题目去理解常用算法和数据结构,并掌握它们的应用方法。

 

一年多的时间里,总共完成1,000+道题,为加深对不同算法的理解,部分题目用不同方式做了2~3遍。从刚开始刷简单题目都觉得困难,到现在能较顺利完成中等难度的题目。

 

过程中对各种常见算法和数据结构的应用套路作了总结:

数组(Array)

链表(List)

哈希表(HashTable)

堆栈(Stack)

队列(Queue)

堆和优先级队列(Heap and Priority Queue)

二叉树(Binary Tree)

二叉查找树(Binary Search Tree)

字典树(Trie)

图(Graph)

—-

双指针(Two Pointers)

滑动窗口(Sliding Window)

排序(Sort)

递归(Recursion)

贪心(Greedy)

分治法(Divide and Conquer)

折半查找(Binary Search)

回溯(Backtracking)

深度优先搜索(DFS)

广度优先搜索(BFS)

合并查找(Union Find)

拓扑排序(Topological Sort)

位运算(Bit Manipulation)

 

学习算法和数据结构,其本身有很多难的知识点,需要理解、消化与掌握。更重要地,克服自己的畏难情绪,面对一项我们迫切想掌握的知识与技能,一点点做起。

 

干就完事了

版权声明:本文为bangerlee原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/bangerlee/p/11831833.html