加载中
智能会话机器人:SaaS 平台的设计与思考

前言 随着自然语言处理和智能语音识别技术的发展,智能会话机器人开始部分替代人工客服。 网上关于NLP算法的文章有很多,但关于 Chatbot 架构的却很少,关于 Chatbot SaaS 平台架构的则更少。...

二叉树06.从2-3-4树到红黑树

作者:刘涛 2022-02-18 V1.0.0 1. 前言 红黑树是一种自平衡二叉查找树(Self-balancing binary search tree)。 如前文所述,根据红黑树的定义去理解其设计思想是非常困难的,但借助 B 树我们...

B树详解与实现

1. 前言 红黑树的实现并不困难,但仅根据其定义去理解背后的设计思想却是相当不容易的。 相比较而言,B树是非常直观且容易理解的,了解B树之后,再去看红黑树,就会发现红黑树其实是4阶B树的...

二叉树04.深度分析AVL树的实现与优化

引子 前段时间项目需要用到 AVL树,所以时隔多年又将其重新完整实现了一遍。 因此,这里的所有代码都是高度优化的,并且都是严谨分析和推导的结果。 首先,我会介绍6种失衡类型和4种旋转; ...

二叉树03.一种无需队列的层序遍历算法 IDDFS

1. 概述 IDDFS (Iterative deepening depth-first search):迭代加深搜索,是一种状态空间/图的搜索策略。 其空间复杂度仅为 \(O(d)\),相比用队列实现层序遍历所需的 \(O(b^d)\) 空间复杂度...

kvs
01/05 12:14
778
二叉树02.深度优先遍历之Morris遍历

1. 概述 前一篇文章介绍了深度优先遍历的递归实现和迭代实现,这两种方式的时间复杂度都是O(n),空间复杂度都是O(h),本文将要介绍的 Morris 遍历的时间复杂度依然为O(n),但空间复杂度仅为O...

2021/12/31 15:07
4.5K
二叉树01.深度优先遍历之递归和非递归遍历

1. 概述 遍历二叉树,即按照某条搜索路径巡访树中的每个结点,使得每个节点均被访问一次,而且仅被访问一次[1]。 深度优先遍历,常见的有递归方式和用栈实现的迭代方式, Morris 遍历虽然空间...

2021/12/31 14:42
1K
字典树之旅04.Patricia Trie(二)

字典树之旅系列文章: 开篇 Trie 的标准实现 Patricia Trie(一) Patricia Trie(二)【本文】 小结【待续】 1. 概述 上一篇文章中,我们用字符比较的方式编写代码实现了 Patricia Trie,但原论...

2021/12/20 07:25
1K
字典树之旅03.Patricia Trie(一)

字典树之旅系列文章: 开篇 Trie 的标准实现 Patricia Trie(一)【本文】 Patricia Trie(二) 小结【待续】 1. 概述 这是字典树之旅系列文章的第三篇,第一篇介绍了 Trie 的基本概念, 第二篇介...

2021/12/11 02:52
407
字典树之旅02.Trie 的标准实现

概述 上一篇文章简单介绍了 Trie,让大家对其有一些感性认知。 这篇文章会先介绍 Trie 的标准实现,然后给出完整代码和测试用例,然后再结合代码实现来分析其优缺点。 论文中通常称这种简单实...

2021/12/08 21:03
882
字典树之旅01.开篇

简介 字典树(Trie),又称为前缀树(prefix tree),用于从集合中定位特定键的树数据结构。 Trie 是“检索”的英文单词 retrieval 的一部分,名称最早由 E. Fredkin提出,其发音同“try”。...

2021/12/08 20:32
512
Xcache:支持spring cache的二级缓存框架

一、概要介绍 Xcache完整实现了Spring cache接口的本地/远程组合缓存框架,支持使用Spring cache注解,并在Spring cache的基础上扩展了以下功能: 1. 缓存List:通过缓存List<Id>的方式降低内...

2017/03/11 00:28
1.2W
从数组到HashMap之算法解释

作者:Xcafe 编辑日期:20161228 博客:https://my.oschina.net/xcafe 一 数组是什么?   忘了在哪本书里曾看到过类似这样的一句话“所有的数据结构都是数组的演化”,想想其实是有道理的...

2016/12/29 08:17
1W
RocketMQ笔记(2)_双主双从部署

  RocketMQ作为分布式的消息中间件,生产环境中只有集群部署才有实际意义。本文主要介绍双主双从的配置与及部署过程中可能遇到的问题,并假定每台机器均已安装好RocketMQ和JDK。如编译安装...

分布式ID生成策略(1)_snowflake算法

  最近在研究分布式ID的生成方法,发现Twitter的snowflake算法挺有意思,因此亲自动手用Java进行了实现。   snowflake算法用64位整数来表示主键,其结构如下图: 1 bit符号位:设计者不喜...

Xcafe:Netty实现兼容SpringMVC的Web容器

1.0 前言   Netty是一个非常优秀的java nio框架,这已无需多言。国庆时逛StackOverFlow,发现有人问如何用netty来支持Spring MVC,逛了一圈github并没有找到有价值的分享。   正好,我一...

JVM内存结构图解

1.0 真实系统中的概念   JVM(Java Virtual Machine),顾名思义是对真实计算机系统的模拟,正因如此才能屏蔽物理机器的变化,从而实现“一次编译,到处运行”。   相信很多Java程序员经常...

2016/12/29 08:16
909
RocketMQ笔记(1)_Linux下编译部署

微服务架构中,消息队列和远程服务调用已是两大必不可少的组件,而RocketMQ和Dubbo正是阿里系贡献的对应的两大精品开源,作为两个已经得到广泛应用的框架,好好学习研究是必需的。 1. 软件准...

2016/12/29 08:16
1.2K
Java位运算符及二进制常识

一、位运算    二、位移运算    三、二进制数   以Java中最常使用的int类型为例(32位)。    ㈠ 符号位   二进制数最左端的数字为符号位:0代表正,1代表负。 ㈡ 最大与最小   ⑴...

2016/12/29 08:16
830

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部
返回顶部
顶部