自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法通关村——不简单的数组增删改查

数组和链表一样是一种线性的数据结构,它的特点主要有两个:长度固定和空间连续。相对链表来说,数组的查询速度较快,这是它的优势。在算法中,数组是一些高级算法的载体,它最容易出错,也是最恶心的地方就是它的边界条件。下面我们首先研究下数组的插入和删除,需要特别注意的就是它的边界条件。

2023-08-03 23:08:29 52

原创 算法通关村第二关——链表指定区间反转问题解析

头插法的实现思路主要是不断将left + 1的节点不断往前插,让left + 2节点变成新的left + 1节点。注意pre和cur节点一直没有变,只是cur不断被挤到后面,pre.next在不断变化。穿针引线法的实现思路主要是将原链表分成了反转链表前、反转链表、反转链表后三部分进行操作,需要注意的是,反转链表部分right节点的next需要设置成null,不然会将反转链表后的部分也一并反转了。

2023-07-30 16:25:10 93

原创 算法通关村第二关——终于学会链表反转了

链表反转,顾名思义,就是将原先链表的连接顺序进行反转,可能是部分反转,也可能是全部反转。本节是入门篇,仅讨论链表全部反转。1. 建立虚拟头节点实现反转实际上就是将原链表的节点一个一个拆下来,插入到虚拟节点和它下个节点之间。2. 直接操作链表实现反转实际上就是将原链表的节点一个个指向新的链表,然后将所有指针通过赋值向右移动。

2023-07-27 09:30:00 67 1

原创 算法通关村第一关——链表经典问题之双指针笔记

双指针,顾名思义,就是同一个链表上存在两个指针,它们沿着链表的方向不断移动,从而到达指定节点进行后续的操作。本节所要讲的是双指针里面的快慢指针,可以很好地解决一部分具有单调性的单链表相关问题。使用快慢指针的时候,若需要查找第K个元素,快慢指针一起移动的判断条件一般是fast!= null;若需要删除或者旋转倒数第K个元素的时候,快慢指针一起移动的判断条件一般是fast!= null。因为删除或者旋转倒数第K个元素时,我们需要找到倒数第K + 1个元素进行操作。

2023-07-26 09:00:00 62 1

原创 算法通关村第一关——链表青铜挑战笔记

链表:顾名思义,就是像链条一样,一节一节串起来的数据结构,每两小节的连接点被称之为链表的节点。节点:链表中存储的每个元素称为节点,节点包括数据域和指针域。数据域:数据域存储的是元素的值。指针域:指针域存储的是当前元素与其前后元素之间的联系,简单来说就是前后元素的指针/内存地址。前后元素分别称为前驱节点和后继节点,其指针域分别称为前驱(prev)和后继(next)。头结点:可以将链表的第一个节点作为头节点。尾节点:可以将链表的最后一个节点作为尾节点。

2023-07-23 10:00:00 62

空空如也

空空如也

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

TA关注的人

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