首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Algorithm
订阅
sulinehk
更多收藏集
微信扫码分享
微信
新浪微博
QQ
248篇文章 · 0订阅
一种基于快速GeoHash实现海量商品与商圈高效匹配的算法
闲鱼app根据交通条件、商场分布情况、住宅区分布情况综合考虑,将城市划分为一个个商圈。杭州部分区域商圈划分如下图所示。 闲鱼的商品是由用户发布的GPS随机分布在地图上的点数据。当用户处于某个商圈范围内时,app会向用户推荐gps位于此商圈中的商品。要实现精准推荐服务,就需要计…
广度优先搜索算法(Breath-first Search)是如何搜索一张图的?
一个图用 G=(V,E) 表示,V是顶点的集合,E是边的集合。如下所示有两种图 2. 有向图,V={a,b,c},E={(a,b),(b,a),(c,a),(b,c)} 使用邻接表。它是一个数组(Adj表示)大小是 |V|,每个元素是指向一个链表的指针,遍历的方法如下 2. 从…
拜托,面试官别问我「布隆」了
一个网站有 100 亿 url 存在一个黑名单中,每条 url 平均 64 字节。这个黑名单要怎么存?若此时随便输入一个 url,你如何快速判断该 url 是否在这个黑名单中? 这是一道经常在面试中出现的算法题。凭借着题目极其容易描述,电面的时候也出现过。 不考虑细节的话,此题…
【算法与数据结构专场】二叉堆是什么鬼?
二叉堆是一种应用很广的数据结构,今天,我们就来简单讲讲二叉堆。 二叉堆是一种特殊的堆。具有如下的特性: 具有完全二叉树的特性。 堆中的任何一个父节点的值都大于等于它左右孩子节点的值,或者都小于等于它左右孩子节点的值。 1、最大堆:父节点的值大于等于左右孩子节点的值。 2、最小堆…
数据结构:线段树
今天插一个特别的主题,介绍一个高级的数据结构:线段树。这是我在写Tracing GC时想到内存管理中的伙伴系统临时想起来的东西。大家学有余力的就学一下,如果看不懂就算了,不用死磕这种用得不是很频繁的东西。 在编程实践中,我们经常会遇到一些在区间上进行查询,修改的需求。为了支持这…
数据库索引背后的数据结构
在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。 B-Tree是一种平衡的多路**查找(又称排序)**树,在文件系统中和数据库系统中有所应用。主要用作文件的索引…
算法学习 - 基础排序算法
最近在学习算法与数据结构,算法是一个程序员的基本功,但是我不是科班出身,所以这方面的知识有所欠缺。在慕课网上找到一套对应的课程,主讲老师是liuyubobobo,从我学习的感受和体验来看,bobo老师对一个问题讲解的相当清晰和透彻,普通话说的也好,适合初学者理解和学习。大家如果…
动态规划求解最长公共子序列
推出一个新系列,《看图轻松理解数据结构和算法》,主要使用图片来描述常见的数据结构和算法,轻松阅读并理解掌握。本系列包括各种堆、各种队列、各种列表、各种树、各种图、各种排序等等几十篇的样子。 最长公共子序列,英文为Longest Common Subsequence,缩写LCS。…
LeetCode 109——有序链表转化二叉搜索树
1. 题目 2. 解答 2.1. 方法一 在 LeetCode 108——将有序数组转化为二叉搜索树 中,我们已经实现了将有序数组转化为二叉搜索树。因此,这里,我们可以先遍历一遍链表,将节点的数据存入有序数组中,然后再将有序数组转化为二叉搜索树即可。 2.2. 方法二 将有序数…