引言
据说有人归纳了计算机的五大常用算法,它们是贪婪算法,动态规划算法,分治算法,回溯算法以及分支限界算法。虽然不知道为何要将这五个算法归为最常用的算法,但是毫无疑问,这五个算法是有很多应用场景的,最优化问题大多可以利用这些算法解决。算法的本质就是解决问题。当数据量比较小时,其实根本就不需要什么算法,写一些for循环完全就可以很快速的搞定了,但是当数据量比较大,场景比较复杂的时候,编写for循环就是一个很不明智的方式了。一是耗时,二是写出的代码绝对是天书。当然还有第三点,这点也是最重要的,写代码是一种艺术,而不是搬砖。
数据结构与算法思维导图
数据结构指的是“一组数据的存储结构”,算法指的是“操作数据的一组方法”。
数据结构是为算法服务的,算法是要作用再特定的数据结构上的。
数据结构强调结构,即元素间的关系
数据类型强调类型,即作用于元素的合法操作
「数据结构」和「数据类型」两个概念的本质是什么,区别与联系是什么?
最常用的数据结构预算法:
- 数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Tire树
- 算法: 递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法
数据结构与算法学习笔记_ityqing的博客-CSDN博客_数据结构与算法
https://blog.csdn.net/ityqing/article/details/82838524
(1条消息) 《算法导论》常见算法总结_Zuoerfeng-CSDN博客
https://blog.csdn.net/u012414189/article/details/83861402
十大经典排序算法(动图演示) - 一像素 - 博客园
https://www.cnblogs.com/onepixel/articles/7674659.html
(1条消息) 十大常用编程算法_icy_xm的专栏-CSDN博客
https://blog.csdn.net/icy_xm/article/details/41283553
(1条消息) 五大常用算法总结_changyuanchn的专栏-CSDN博客_五大常用算法
https://blog.csdn.net/changyuanchn/article/details/51476281