数据结构
qq_41111491
这个作者很懒,什么都没留下…
展开
-
回溯算法
理解回溯算法小时候,我们在构建迷宫时,往往会之构建一个出口,如何我们去把迷宫和回溯算法理解起来呢? 我们往往采取得方式是一条路走下去,遇到堵塞,我们回到未堵塞得点,然后退回上一次未选过的选项,我们就可以不断试错,走向出口。实际上这就是一种回溯的思路,真正的意思是,在成功之前,我们会一直在错误的路上。实例1 8皇后问题题目意思很简单,一个8*8矩阵,求出8位皇后放在矩阵中,条件是皇后之...翻译 2020-03-04 23:51:48 · 149 阅读 · 0 评论 -
分治算法
如何理解分治算法分治算法(divide and conquer)的核心思想其实就是四个字,分而治之 ,也就是将原问题划分成 n 个规模较小,并且结构与原问题相似的子问题,递归地解决这些子问题,然后再合并其结果,就得到原问题的解。递归得操作步骤:分解:将原问题分解成一系列子问题; 解决:递归地求解各个子问题,若子问题足够小,则直接求解; 合并:将子问题的结果合并成原问题。分治...翻译 2020-03-02 22:36:03 · 116 阅读 · 0 评论 -
贪心算法:如何使用贪心算法
贪心算法:每次取极端值应用:哈夫曼编码,Prim和Kruskal最小生成树算法,还有Dijkstra最短路径算法如何理解贪心法的理解,大概是在有限数量下,对数据的总和有极值点,但是在分步进行的时候,前者的结果不影响后者的选择权。例如:假设我们有一个可以容纳 100kg 物品的背包,可以装各种物品。我们有以下 5 种豆子,每种豆子的总量和总价值都各不相同。为了让背包中所装物...翻译 2020-02-28 22:35:25 · 510 阅读 · 1 评论 -
堆应用
29 | 堆的应用:如何快速获取到Top 10最热门的搜索关键词?王争2018-11-28 优先级队列 利用堆求TOP K 利用堆求中位数 优先级队列 优先级队列,故明思义,他首先应该是应该是队列,队列的特点是先进先出,而在优先级的队列中,按照优先级顺序进行出队. 例子合并有序小文件 假设我们有...翻译 2020-02-25 22:04:42 · 206 阅读 · 0 评论 -
哈希算法:你会如何存储重要数据
什么是哈希算法将任意长度的二进制值映射为固定长度的二进制串,这个映射的规则就是哈希算法,而通过原始数据映射之后得到的二进制值串就是哈希值.hash算法要求:从哈希值不能反向推导出原始数据 (映射是单向的) 输入数据通过算法得到HASH值 散列冲突的概率要小 哈希算法执行效率尽量高效HASH算法的应用 安全加密 唯一标识 数据校验 散列函数...翻译 2020-02-22 22:12:52 · 1199 阅读 · 0 评论