万象云档 本次搜索耗时 2.447 秒,为您找到 168 个相关结果.
  • 第十四题 Prim算法

    174 2025-05-31 《经典算法题》
    一:最小生成树 二:Prim算法 三:代码 1. 图的存储 2:矩阵构建 3:Prim 图论在数据结构中是非常有趣而复杂的,作为web码农的我,在实际开发中一直没有找到它的使用场景,不像树那样的频繁使用,不过还是准备 仔细的把图论全部过一遍。 一:最小生成树 图中有一个好玩的东西叫做生成树,就是用边来把所有的顶点联通起来...
  • 6.3 simhash算法

    6.3 simhash算法 方法介绍 背景 出世 流程 应用 问题实例 6.3 simhash算法 方法介绍 背景 如果某一天,面试官问你如何设计一个比较两篇文章相似度的算法?可能你会回答几个比较传统点的思路: 一种方案是先将两篇文章分别进行分词,得到一系列特征向量,然后计算特征向量之间的距离(可以计算它们之间的欧氏距离、海明距离或...
  • 7.2.1 类的定义

    7.2.1 类的定义 7.2.1 类的定义 利用 OOP 来解决问题时,首要任务是确定该问题涉及哪些对象,每种对象分别具有什 么数据和操作。类就是对这些信息的表达。类的创建,体现了面向对象的诸多思想和方法, 本节对此进行详细介绍。 抽象 人们在认识客观世界时,经常采用抽象方法来对客观世界的众多事物进行归纳、分类。 抽象就是忽略事物中与当前目标无关的...
  • 3.3.3 异常处理机制

    3.3.3 异常处理机制 3.3.3 异常处理机制 那么,有没有办法使我们既能增强程序的健壮性,又不影响程序逻辑的清晰和完整呢? 现代编程语言提供了异常处理机制来解决这个问题。异常处理机制的基本思想是:程序运行 时如果发生错误,就“抛出”一个异常,而系统能够“捕获”这个异常并执行特定的异常处 理代码。图 3.7 中给出了异常抛出和捕获的示意图,从图中...
  • 分布式系统

    分布式系统 面试连环炮 系统拆分 分布式服务框架 分布式锁 分布式事务 分布式会话 公众号 分布式系统 面试连环炮 系统拆分 为什么要进行系统拆分?如何进行系统拆分?拆分后不用 Dubbo 可以吗? 分布式服务框架 说一下 Dubbo 的工作原理?注册中心挂了可以继续通信吗? Dubbo 支持哪些序列化协议?说一下 He...
  • 2.15 本章习题

    2.15 本章习题 本章数组和队列的习题 2.15 本章习题 本章数组和队列的习题 1、不用除法运算 两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]_a[1]_a[2]…*a[N-1]/a[i]; 要求: 1.不准用除法运算 2.除了循环计数值,a[N],b[N]外,不准再用其他任何变量(...
  • 3.3 最近公共祖先LCA

    3.3 最近公共祖先LCA 问题描述 分析与解法 解法一:暴力对待 1.1、是二叉查找树 1.2、不是二叉查找树 解法二:Tarjan算法 2.1、什么是Tarjan算法 2.2、Tarjan算法如何而来 2.3、Tarjan算法流程 解法三:转换为RMQ问题" level="3"> 解法三:转换为RMQ问题 3.1、什么是RMQ问题" ...
  • 6.2 分而治之

    6.2 分而治之 方法介绍 问题实例 举一反三 6.2 分而治之 方法介绍 对于海量数据而言,由于无法一次性装进内存处理,导致我们不得不把海量的数据通过hash映射分割成相应的小块数据,然后再针对各个小块数据通过hash_map进行统计或其它操作。 那什么是hash映射呢?简单来说,就是为了便于计算机在有限的内存中处理big数据,我们通过一种...
  • 第三题 猴子吃桃

    171 2025-05-31 《经典算法题》
    第三题 猴子吃桃 第三题 猴子吃桃 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾就多吃了一个。第二天早上又将剩下的桃子吃了一半,还是不过瘾又多 吃了一个。以后每天都吃前一天剩下的一半再加一个。到第10天刚好剩一个。问猴子第一天摘了多少个桃子? 分析: 这是一套非常经典的算法题,这个题目体现了算法思想中的递推思想,递归有两种形式,顺推和...
  • 3.3 最近公共祖先LCA

    3.3 最近公共祖先LCA 问题描述 分析与解法 解法一:暴力对待 1.1、是二叉查找树 1.2、不是二叉查找树 解法二:Tarjan算法 2.1、什么是Tarjan算法 2.2、Tarjan算法如何而来 2.3、Tarjan算法流程 解法三:转换为RMQ问题 3.1、什么是RMQ问题 3.2、如何解决RMQ问题 3.2.1、Trivial...