自定义博客皮肤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 229

原创 单链表的反转

单链表的反转给定一条单链表的头结点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 125

原创 Linux下Docker的安装

Docker安装及使用Linux安装Dockeryum -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 92

原创 旋转数组的二分查找

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

2021-07-21 16:46:54 1455

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

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

2021-07-10 20:58:23 240

空空如也

空空如也

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

TA关注的人

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