- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 数据结构——动态规划
数据结构与算法(十九):动态规划最近开始学习王争老师的《数据结构与算法之美》,通过总结再加上自己的思考的形式记录这门课程,文章主要作为学习历程的记录。动态规划适合用于求解最优问题,比如求最大值、最小值等。它可以显著地降低时间复杂度,提高执行效率。0-1背包问题对于一组不同重量、不可分割的物品,需要选择一些装入背包,在满足背包最大重量限制的前提下,背包中物品总重量的最大值为多少?如果用回溯...
2019-12-19 10:14:28 1638
原创 数据结构——回溯算法
最近开始学习王争老师的《数据结构与算法之美》,通过总结再加上自己的思考的形式记录这门课程,文章主要作为学习历程的记录。回溯的处理思想,有点类似于枚举搜索——枚举所有的解,找到满足期望的解。为了有规律地枚举所有可能的解,避免遗漏和重复,我们把问题求解的过程分为多个阶段。每个阶段,我们都会面对一个岔路口,我们先随意选一条路走,当发现这条路走不通时,就回退到上一个岔路口,另选一种走法继续走。以八皇后...
2019-12-13 20:20:17 582
原创 数据结构——分治算法
最近开始学习王争老师的《数据结构与算法之美》,通过总结再加上自己的思考的形式记录这门课程,文章主要作为学习历程的记录。分治算法的核心是分而治之,将原问题划分为n个规模较小,且结构与原问题相似的子问题,递归地解决了这些子问题,然后合并其结果,得到原问题的解。分治算法一般都比较适合用递归来实现,每一层递归都会涉及这样三个操作:1、分解:将原问题分解成一系列子问题。2、解决:递归地求解各个子问题...
2019-12-13 11:20:03 1355
原创 数据结构——贪心算法
最近开始学习王争老师的《数据结构与算法之美》,通过总结再加上自己的思考的形式记录这门课程,文章主要作为学习历程的记录。首先来看一个例子,假设我们有一个可以容纳100kg物品的背包为了使背包中所装物体的总价值最大,如何选择在背包中装哪些豆子?这个问题的解决是将单价从高到低排列,它的本质借助的是贪心算法。总结一下贪心算法解决问题:第一步,当我们看到这类问题时,首先要联想到贪心算法。针对一组数...
2019-12-12 16:56:25 2252
原创 数据结构——字符串匹配基础
字符串匹配基础字符串匹配算法有很多,首先讲一下BF算法和RK算法。RK算法是BF算法的改进,借助了前面讲的哈希算法来实现高效字符串匹配。BF算法BF算法是Brute Force的缩写,中文叫作暴力匹配法,也叫朴素匹配算法。首先要了解主串和模式串的概念。比如我们在字符串A中查找字符串B,则A为主串,B为模式串。若主串长度为n,模式串长度为m,则n>m。BF算法作为最简单、最暴力的字符串...
2019-12-07 22:34:12 389
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人