
算法
文章平均质量分 88
主要是以刷LeetCode,总结各种题型。
小太阳....
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
图解二叉堆:堆排序
前言二叉堆和二叉树有什么关系呢?二叉堆的存储方式是数组,为什么我们总是把二叉堆画成二叉树呢?其实二叉堆是一种特殊的二叉树:完全二叉树。由于完全二叉树的性质所以我们更适合使用数组来存储,用数组的索引来操作子节点。而对于一般二叉树我们使用指针来操作子节点。其实二叉堆的主要核心操作就是down(下沉)和up(上浮)。二叉堆的概念下图是一个二叉堆实例。从图上我们可以看出父亲和儿子节点索引的关系int parent(int root){ return (root-1)/2;//记住一定是先减1再除2原创 2021-01-20 17:04:16 · 1089 阅读 · 1 评论 -
链表:判断链表是否有环以及找入口
141环形链表题意: 给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。返回值:如果链表中存在环,则返回 true 。 否则,返回 false 。说明:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。思路:这道题目,主要考察对链表的操作。主要方法:■ 双指针:快慢指针原创 2021-01-16 10:36:51 · 1018 阅读 · 3 评论 -
数组模拟单链表
数组模拟单链表链表的概念以及结构概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 ,这种链表也叫动态链表。定义:在C语言中我们通过结构体实现一个节点的定义。typedef struct ListNode{ int val, struct ListNode *next;}ListNode;缺点:■ 在我们创建一个链表时这个过程是十分慢的,需要重新开辟一个空间,我们在做算法题的时候常常会时间超时。数组模拟链表我们用数组原创 2020-12-12 20:04:49 · 567 阅读 · 2 评论