自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wsldyyq的博客

不日进,则日退

  • 博客(5)
  • 收藏
  • 关注

原创 跳跃表原理

如果您之前不了解跳跃表的原理及实现,那么阅读本文需要10分钟以上的时间。 在作者有限的理解下,本文尽量使用通俗简短的语言来解释跳跃表。 1. 链表的“二分查找” 众所周知,在一个有序的线性表中,使用二分查找可以大大缩短查找效率。比如在一个长度为1024的数组中查找某一元素,我们最多通过10次比较就可以定位到具体元素,时间复杂度为O(logN)。 因为数组可以通过下标访问任意位置的特性,我们对其进行二分查找时会非常方便,只需要每次找到数组中间位置的下标进行比较即可。 但是当我们使用链表作为存储结构时,实现二

2021-07-27 11:19:44 355

原创 单链表的反转

单链表的反转 给定一条单链表的头结点head,将单链表反转并返回(可参考LeetCode 206:反转链表) 例:输入【1, 2, 3, 4, 5】 -----> 返回【5, 4, 3, 2, 1】 1. 方式一:迭代 【适用于无链表头结点,没有开拓额外存储空间】 定义三个指针first,second,third。 开始时分别指向null,第一个元素,第二个元素。 每次将second指向的链表节点反转。 然后三个指针一起向后移动,直到移动到最后位置,third指针指向null为止 J

2021-07-23 10:48:11 191

原创 Linux下Docker的安装

Docker安装及使用 Linux安装Docker yum -y install docker 使用Docker 启停Docker # 启动 systemctl start docker # 开机自启 systemctl enable docker # 停止 systemctl stop docker 查看docker服务状态 systemctl status docker 直接访问境外镜像时网络状况一般较差,所以我们选择修改为阿里云镜像。 vim /etc/docker/daemon.json #

2021-07-22 23:13:38 155

原创 旋转数组的二分查找

旋转数组的二分查找 可参考Leetcode 33、81题 1. 何为旋转数组 讲一个有序数组从任意位置隔断分为两部分,两部分调换位置,调换位置之后的数组即为旋转数组 2. 如何对旋转数组进行二分查找(假定数组中不含重复元素) 重点:对于旋转数组来说,无论从哪一个点将数组分开,左右两边中必有一边是有序的 二分查找步骤:时间复杂度O(logN) 定义三个指针:left、middle、right 比较left是否小于middle,是则左半部分有序,否则右半部分有序 判断要查找的元素是否在有序部分,是则继续

2021-07-21 16:46:54 1834

原创 Java使用循环数组实现队列

利用循环数组实现队列 话不多说,直接上代码 public class ArrayQueue { private int maxSize; private int front; private int tail; private int[] dataArray; /** * 此处引入modCount来计算当前队列拥有的数据个数 * 在不使用单独变量存储队列当前容量时,需要使用下文公式计算

2021-07-10 20:58:23 327

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除