数据结构与算法
文章平均质量分 91
京东云开发者
京东云开发者(Developer of JD Technology)为AI、云计算、IoT等相关领域开发者提供技术分享交流。平台将发布京东产品技术信息、行业技术内容、技术活动及大赛等资讯。拥抱技术,与开发者携手预见未来!
展开
-
基于Raft算法的DLedger-Library分析 | 京东物流技术团队
在分布式系统应用中,高可用、一致性是经常面临的问题,针对不同的应用场景,我们会选择不同的架构方式,比如master-slave、基于ZooKeeper选主。随着时间的推移,出现了基于Raft算法自动选主的方式,Raft是在Paxos的基础上,做了一些简化和限制,比如增加了日志必须是连续的,只支持领导者、跟随者和候选人三种状态,在理解和算法实现上都相对容易许多。原创 2023-12-15 10:45:46 · 1551 阅读 · 0 评论 -
京东广告研发近期入选国际顶会文章系列导读——CIKM 2023篇
近年来,放眼业界广告推荐领域的算法获得了长足的发展,从几篇奠定基础的序列学习、大规模图学习、在线学习&增强学习、多模态推荐问题等起步,业内算法不断迭代发展并在学术和工业场景上取得不错的应用。原创 2023-11-28 11:50:01 · 557 阅读 · 0 评论 -
时间复杂度为 O(nlogn) 的排序算法 | 京东物流技术团队
归并排序遵循:分解待排序的 n 个元素的序列成各具 n/2 个元素的两个子序列,将长数组的排序问题转换为短数组的排序问题,当待排序的序列长度为 1 时,递归划分结束:合并两个已排序的子序列得出已排序的最终结果归并排序最吸引人的性质是它能保证将长度为 n 的数组排序所需的时间和 nlogn 成正比;它的主要缺点是所需的额外空间和 n 成正比。:借助辅助数组实现合并,使用 O(n) 的额外空间;递归深度为 logn,使用 O(logn) 大小的栈帧空间。忽略低阶部分,所以空间复杂度为 O(n)原创 2023-11-27 11:18:18 · 573 阅读 · 0 评论 -
增长实验室-ab分流的流量保护功能介绍 | 京东云技术团队
介绍ab分流的功能之前,先普及一下ab分流的一些概念和术语。原创 2023-11-21 10:36:02 · 136 阅读 · 0 评论 -
从BST到LSM的进阶之路 | 京东物流技术团队
AVL树指的是平衡二叉搜索树,没错它就是二叉搜索树和平衡二叉树杂交育种的结果,结合了双亲的优良特性,有序且平衡,直接走向树生巅峰。为什么叫AVL树?这可不是取的平衡二叉搜索树首字母的缩写,而是因为是BST的两个家教的name是和AVL树的查找,插入和删除的时间复杂度都固定是o(log n),但是增加和删除操作会使树失去平衡,因此需要通过一次或多次树旋转来重新平衡这棵树。旋转分为LL,LR,RR,RL4种方式,具体的插入和删除的情况比较多,在这就不详细展开了,说一下关键的一点,是可能需要多次旋转。原创 2023-11-14 11:28:52 · 94 阅读 · 0 评论 -
速看!!教你如何抢红包
叮咚~,红包来了!相信大家一定在日常生活中抢过红包,但每次都和“手气最佳”无缘。因此,大家都很好奇后台是如何分配红包金额的,那么今天和大家聊一下红包背后的原理,以及如何抢红包才是正确姿势!原创 2023-11-07 19:42:18 · 280 阅读 · 0 评论 -
IPSec VPN原理介绍 | 京东物流技术团队
Virtual Private Network,中文名虚拟专用网络,意思是在公用网络上仿真建立一条点到点的专用网络,进行加密通讯,解决远程访问(个人和分支机构到总部)的问题。要理解VPN,我们需要先弄了解一个概念——隧道协议,其实质是用一种协议来传输另一种协议,其基本功能是封装和加密。我们给大家列举几个隧道协议:GRE、IPSec、SSL/TLS、VPN(WebVPN)、PPTP、L2TP。原创 2023-10-24 15:00:07 · 230 阅读 · 0 评论 -
体验提升-一个“小技巧”彻底解决锦礼商品可见不可售 | 京东云技术团队
常见的列表请求有以下三种:1、第三方提供的查询服务,RPC分页请求,比如搜索商品列表RPC接口、推荐商品列表RPC接口2、数据库查询,mybatis分页查询,可以利用自增主键id,做后续请求3、ES搜索查询,ES分页查询,滚动查询入参:PageParams, 标准分页请求参数,T为真实的分页请求对象出参:PageResult,标准分页返回参数,R为真实分页请求返回对象SDK的实现基于泛型开发,调用方需要按照规范自定义实现该方法。原创 2023-10-12 11:56:49 · 122 阅读 · 0 评论 -
任务调度之时间轮实现 | 京东云技术团队
在生活中太阳的东升西落,鸟类的南飞北归,四级的轮换,每天的上下班,海水的潮汐,每月的房租车贷等等,如果用程序员的视角看,这就是一个个的定时任务,在日常的开发工作中也有很多的定时任务场景原创 2023-07-17 11:57:10 · 350 阅读 · 0 评论 -
【差分隐私】基本原理与入门级应用 | 京东云技术团队
差分隐私(Differential Privacy,DP)是密码学中的一种手段,可以提高从统计数据库进行数据查询的准确性,同时帮助最大限度减少识别其具体记录的机会。DP一般分为:CDP(Centralized Differential Privacy)、LDP(Local Differential Privacy)。原创 2023-06-12 09:16:16 · 501 阅读 · 0 评论 -
RALB负载均衡算法的应用 | 京东云技术团队
# 一、背景搜索推荐算法架构为京东集团所有的搜索推荐业务提供服务,实时返回处理结果给上游。部门各子系统已经实现了基于CPU的自适应限流,但是Client端对Server端的调用依然是RR轮询的方式,没有考虑下游机器性能差异的情况,无法最大化利用集群整体CPU,存在着Server端CPU不均衡的问题。京东广告部门针对其业务场景研发的负载均衡方法很有借鉴意义,他们提出的RALB(Remote Aware Load Balance)算法能够提升下游服务集群机器CPU资源效率,避免CPU短板效应,让性能好的原创 2023-06-09 10:30:52 · 188 阅读 · 0 评论 -
一些常见的字符串匹配算法
字符串匹配在文本处理的广泛领域中是一个非常重要的主题。字符串匹配包括在文本中找到一个,或者更一般地说,所有字符串(通常来讲称其为模式)的出现。本文为大家介绍一些常见的字符串匹配算法原创 2023-04-25 10:05:47 · 1150 阅读 · 0 评论 -
Java 集合中的排序算法浅析
排序是一个Java开发者,在日常开发过程中随处可见的开发内容,Java中有丰富的API可以调用使用。本文主要探讨java中排序方法所使用的算法,以及那些是值得我们学习和借鉴的内容。文中如有理解和介绍的错误,一起学习,一起探讨,一起进步。原创 2023-02-20 11:08:53 · 225 阅读 · 0 评论 -
从历代GC算法角度刨析ZGC
本文先介绍了垃圾回收的必要手段,基于这些手段讲解了历代垃圾回收算法是如何工作的,每一种算法不会讲的特别详细,只为读者从算法角度理解工作原理,从而引出ZGC,方便读者循序渐进地了解。原创 2023-02-06 10:47:10 · 312 阅读 · 0 评论 -
【数据结构与算法】Trie树简介及应用
Trie树,即字典树,又称单词查找树或键树,是一种树形结构,典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。原创 2023-01-30 11:16:59 · 437 阅读 · 0 评论 -
认知篇:CQRS 架构模式的本质
CQRS只是一种非常简单的模式(pattern),CQRS本身并不是一种架构风格,和最终一致性/消息/读写分离/事件溯源/DDD等没有必然的联系,它最大优势是给我们带来更多的架构属性选择原创 2023-01-30 11:12:00 · 408 阅读 · 1 评论 -
跳跃表数据结构与算法分析
目前市面上充斥着大量关于跳跃表结构与Redis的源码解析,但是经过长期观察后发现大都只是在停留在代码的表面,而没有系统性地介绍跳跃表的由来以及各种常量的由来。作为一种概率数据结构,理解各种常量的由来可以更好地进行变化并应用到高性能功能开发中。本文没有重复地以对现有优秀实现进行代码分析,而是通过对跳跃表进行了系统性地介绍与形式化分析,并给出了在特定场景下的跳跃表扩展方式,方便读者更好地理解跳跃表数据结构。作者:纪卓志George链接:https://juejin.cn/post/718628561725原创 2023-01-16 14:28:32 · 320 阅读 · 2 评论