上一页 1 2 3 4 5 6 ··· 8 下一页
摘要: 贪心算法,突出一个贪心,总是有想用最低的成本完成任务。 贪心算法的步骤 1.首先要抓准期望值和限制值,当我们针对要解决的问题,可以数据抽象出期望值和限制值时,就要首先联想到贪心算法了。我们希望在满足限制值的同时,期望值最大。 2.我们尝试看下这个问题是否可以用贪心算法解决:每次选择当前情况下,在对限 阅读全文
posted @ 2022-04-29 22:11 codemelo 阅读(61) 评论(0) 推荐(0)
摘要: BF算法 bf算法(brute force)顾名思义,是很暴力,很朴素的算法,我们把想要匹配的字符串叫做模式串,通俗理解来说就是模板,把被进行搜索来查找有无匹配的子串的字符串叫做主串,比如用户输入的字符串。bf算法是这样的:假设主串长度为n,模式串的长度对我们从主串的初始位置0开始,每次查找长度为m 阅读全文
posted @ 2022-04-29 12:19 codemelo 阅读(122) 评论(0) 推荐(0)
摘要: 广度优先搜索(Bradth - First - Search)和深度优先搜索(Depth - First - Search)是基于图的两个搜索算法。 广度优先搜索 广度优先搜索,类似于地毯式搜索,我们从起始顶点开始,先访问最近一层的所有顶点,然后次近一层的所有顶点,这样一层层地访问下去,一旦访问到目 阅读全文
posted @ 2022-04-28 10:38 codemelo 阅读(29) 评论(0) 推荐(0)
摘要: 图是一种非线性结构,比树更复杂。 图也是由一个个点组成的,在图中,我们把每个点叫做顶点(vertex)。 图中的任意一个顶点可以和其他顶点建立连接联系,这种关系叫做边。 一个顶点与其他顶点建立连接关系的总数叫做度,即顶点的边的条数。 很多社交软件都是用图来保存用户之间的关系,以微信和微博来说,微信和 阅读全文
posted @ 2022-04-28 10:13 codemelo 阅读(214) 评论(0) 推荐(0)
摘要: 跳表其实就是对链表进行改造,使链表能够进行类似于二分查找的算法。 我们知道,链表虽然内存消耗低,但是查询效率很低,想要去提高这个查询效率,我们可以参考下数组,数组为什么查询快?因为它是直接使用的偏移公式,按下标读取。那么我们可以参考这个思路,每隔一些结点就标记一下,比如每隔两个,这样类似于二分,把这 阅读全文
posted @ 2022-04-27 21:24 codemelo 阅读(148) 评论(0) 推荐(0)
摘要: 堆是一种特殊的树,只要某棵树满足这两点,那么它就是树: 1.是一个完全二叉树。 2.该树的每个节点小于等于或者大于等于左右子树的所有节点的值,注意这不是像二叉查找树那种左小右大,而是要么左右都是小于等于,要么左右都是大于等于。、 小于等于的话叫做小顶堆,大于等于的话叫做大顶堆。 图中4不是堆,其他都 阅读全文
posted @ 2022-04-26 16:40 codemelo 阅读(168) 评论(0) 推荐(0)
摘要: 树 树是由一个个节点组成的,最上层的节点叫做根节点,节点可以衍生出节点,相互之间是父子关系,同样,属于同一个父节点的叫兄弟节点,如果一个节点没有子节点,那么这个节点叫叶子节点或者叶节点,注意,树有一个很明显的特征:任意三个及以上的节点都不能形成闭合,即同一层的节点不连通,兄弟节点之间不能共享节点 树 阅读全文
posted @ 2022-04-25 21:17 codemelo 阅读(101) 评论(0) 推荐(0)
摘要: 1.最重要的一点,要有驱动力,这是一切行动的基础。而且本身我们想去学习时,肯定都是有原因的,这个原因其实就是我们的驱动力。 2.明确学习目标,这个不必多说,没目标,你根本就不知道该做什么。 3.将大目标拆解成小目标,这样你能明确每一步该做什么,就能逐渐走向终点,并且小目标都更容易完成,去除了大目标的 阅读全文
posted @ 2022-04-25 11:16 codemelo 阅读(129) 评论(0) 推荐(0)
摘要: 散列表,顾名思义,就是数据分散在列表中,也叫哈希表,散列表依赖于数组随机下标访问的特性,本质上是数组的一种拓展,有数组演化而来,可以说,没有数组就没有散列表。 散列思想 散列思想其实就是映射思想,即用键值对来保存信息,键(key)和值(value)之间的映射法则叫做散列函数(也叫Hash函数或哈希函 阅读全文
posted @ 2022-04-21 22:26 codemelo 阅读(600) 评论(0) 推荐(0)
摘要: 如何分析一个排序算法? 执行效率 ①算出最好,最坏,平均时间复杂度,还要说出最好和最坏复杂度对应的原始数据是怎样的。 因为有些排序算法是进行了三个复杂度的区分,所以最好所有排序算法都进行区分,方便比较。 其次,要说出原始数据是因为有些原始数据非常无序,有些已经接近有序,有序度不同的数据,肯定会造成排 阅读全文
posted @ 2022-04-20 20:16 codemelo 阅读(75) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 ··· 8 下一页