首页
学习
活动
专区
工具
TVP
发布

算法半岛

专栏作者
48
文章
39017
阅读量
21
订阅数
蓝桥--版本分支
小明负责维护公司一个奇怪的项目。这个项目的代码一直在不断分支(branch)但是从未发生过合并(merge)。现在这个项目的代码一共有N个版本,编号1~N,其中1号版本是最初的版本。除了1号版本之外,其他版本的代码都恰好有一个直接的父版本;即这N个版本形成了一棵以1为根的树形结构。
用户3470542
2019-10-23
3090
Hash表(四)——Hash冲突解决办法&HashMap分析
在Hash表(二)——散列冲突中学到常用的解决 Hash冲突的方法有开放寻址法和链表法。在 Java中 ThreadLocalMap采用线性探测的开放寻址法来解决冲突, LinkedHashMap采用了链表法解决 Hash冲突,现将开放寻址法和链表法总结如下。
用户3470542
2019-08-27
2.6K0
Hash表(三)——Hash函数&装载因子&动态扩容
通过前面学习到, Hash表的查询效率并不是 O(1),它与 Hash函数、散列冲突等因素有关。如果 Hash函数确定得不好,可能导致散列冲突概率升高,查询效率下降。那么,该如何设计 Hash函数呢?
用户3470542
2019-08-27
6.1K0
并发控制
这两种控制模式的区别在于,是在冲突发生前进行防止,还是在发生后采用某种方法来处理冲突。
用户3470542
2019-07-10
7510
Hash表(二)——散列冲突
在Hash表(一)——Hash函数已经分析了散列冲突产生的原因,我们一般使用开放寻址法和链表法来解决。
用户3470542
2019-07-10
1.2K0
Java面经——计算机网络
经过两个月的面试,还是积累了比较多的面试经验,面试的时候会问很多基础的东西,然而这些往往是平时容易忽略的知识。现在我将这两个月准备的内容以及面试中常问的知识点都整理一下写成博客,方便大家也方便自己以后复习巩固,有的回答不一定标准,如果发现问题欢迎联系我进行修正。今天的内容是计算机网络部分。
用户3470542
2019-07-10
3870
Hash表(一)——Hash函数
Hash表也叫 散列表,具有像数组那样根据随机访问的特性,可以根据 key来获得 value。
用户3470542
2019-07-10
1.6K0
数据结构与算法-树
↑点击上面"算法半岛" 关注"算法半岛"第一时间接收最新文章 树的概念 树是一种常见的数据结构,如下图所示: 图中绿色的圆圈称为节点,用来连接相邻节点之间的关系称为父子关系 A节点为B
用户3470542
2019-07-01
7190
LeetCode-18 四数之和
今天我们学习第18题四数之和,这是一道中等题。像这样数组的题目经常作为面试题来考察面试者算法能力和写代码能力,因此最好能手写出该题。下面我们看看这道题的题目描述。
用户3470542
2019-07-01
4990
LeetCode-15 三数之和
今天我们学习第15题三数之和,这是一道中等题。像这样字符串的题目经常作为面试题来考察面试者算法能力和写代码能力,因此最好能手写出该题。下面我们看看这道题的题目描述。
用户3470542
2019-06-26
8500
LeetCode-19 删除链表中的倒数第N个节点
今天我们学习第19题删除链表中的倒数第N个节点,这是一道中等题。这个题属于面试中的高频题,一定要能手写出来。下面我们看看这道题的题目描述。
用户3470542
2019-06-26
4360
数据结构与算法-二叉树(二)
二叉查找树是一种特殊的二叉树,它支持动态的数据集合的快速插入、删除和查找操作。二叉查找树的一般结构如下图所示:
用户3470542
2019-06-26
3990
数据结构与算法-二叉树(一)
在理解树的基本概念和结构后接下来我们学习最常用的一种树——二叉树,如下图所示:
用户3470542
2019-06-26
5060
数据结构与算法-跳表
在学习二分查找时,我们知道二分查找需要依赖数组的随机访问的特性进行查找,而链表不具有随访问的特性,因此不能使用传统上的二分查找方法了。为了使得链表支持类似二分查找的算法,对原始的链表进行修改,修改后的链表就是跳跃表,简称跳表。跳表支持快速的插入、删除、查找操作,是一种动态的数据结构。
用户3470542
2019-06-26
7810
LeetCode-33 搜索旋转排序数组
( 例如,数组 [0,1,2,4,5,6,7]可能变为 [4,5,6,7,0,1,2] )。
用户3470542
2019-06-26
1.1K0
数据结构与算法—二分查找(二)
学习完『数据结构与算法—二分查找(一)』后,接下来分析四种二分查找变形问题,对于每个问题分析时,我们都将数据从小到大排好序,如果数据从大到小排序,其解决思路是一致的。对于本次分析的从小到大排好序且有重复数组如下所示:
用户3470542
2019-06-26
6570
数据结构与算法-二分查找(一)
二分查找也称为折半查找,主要用在有序集合中进行查找。我们先通过一个猜数字的小游戏来分析。首先我随机写一个0~99的数字,然后你再猜我写的哪一个数字,在猜数字过程中如果你猜大了,我会提示你猜的数字大于我写的数字;如果你猜小了,我会提示你猜的数字小于我写的数字,直到猜中为止。那么如何快速猜中呢?
用户3470542
2019-06-26
6810
LeetCode-79 单词搜索
今天我们学习第79题单词搜索,这个题目是一个典型的DFS,经常出现笔试中,而且模板很固定,最好要熟练掌握。我们先看看这道题的题目描述。
用户3470542
2019-06-26
5690
LeetCode-31 下一个排列
今天我们学习第31题下一个排列,这是一个中等的数组题。我们先看看这道题的题目描述。
用户3470542
2019-06-26
5810
LeetCode-28 实现strStr()
今天我们学习第28题实现strStr(),这个题目是一个典型的字符串匹配题目。我们先看看这道题的题目描述。
用户3470542
2019-06-26
7290
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档