题意 要让链表里的所有负数的结点排在非负数的前面,以及让所有的[0, K]的数字放在(k, ∞)的前面,而且要保持相对顺序不变。保证链表不为空 思路 依次遍历链表的每个结点进行标记,第一趟取出负数,第二趟取出[0, K]内的数字,第三趟取出剩下没有取的数字,标记的方式是令data = 100010, ...
分类:
其他好文 时间:
2021-03-15 10:43:58
阅读次数:
0
要了解最小生成树的概念,我们首先要知道生成树是什么 生成树的定义 一个有 n 个结点的联通图的生成树是原图的极小连通子图,生成树包含原图中的所有 n 个结点,并且有保持图连通的最少的边。 最小生成树的性质 1.容易想象,要保证n个节点联通,至少要有n-1条边,所以一个有n个节点的生成树必有n-1条边 ...
分类:
编程语言 时间:
2021-03-10 13:25:00
阅读次数:
0
使用二维数组邻接矩阵储存图 无向图: 图G 定义图G[101][101],G[i][j]的值表示从结点vi到vj是否有边或弧,若有,取值为1或权值,若无,则取值为0或∞。以下是图G用邻接矩阵表示的列表: 结点 A B C D A 0 1 1 1 B 1 0 0 1 C 1 0 0 1 D 1 1 1 ...
分类:
编程语言 时间:
2021-03-08 13:49:48
阅读次数:
0
内容摘自:数据结构与算法之美 链表 链表并不需要一块连续的内存空间,它通过“指针”将一组零散的内存块串联起来使用。 单链表 链表通过指针将一组零散的内存块串联在一起。其中,我们把内存块称为链表的“结点”。 为了将所有的结点串起来,每个链表的结点不仅要存储数据,还需要记录下一个结点的地址。我们将这个记 ...
分类:
其他好文 时间:
2021-03-08 13:20:35
阅读次数:
0
1.5 堆排序 ? 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。 核心思路: 1、depth := length/2 - 1 //节点深度,n,2n+1,2n+2 2、 ...
分类:
编程语言 时间:
2021-03-05 13:28:37
阅读次数:
0
仅供自己学习 思路: 一开始就是往这DFS直接做就可以了,但是看了题解,原来这么复杂的吗? DFS:把tickets的数据放入图,然后直接对每个结点DFS即可。这里有一个问题,记住题目前提是一定会有可行解,但如果有孤岛例子的话,例如图 [["JFK","KUL"]["JFK","NRT"]["NRT ...
分类:
其他好文 时间:
2021-03-02 12:27:04
阅读次数:
0
快慢指针技巧汇总 双指针技巧可以分为两类:一类是【快慢指针】、一类是【左右指针】 一、快慢指针 快慢指针一般初始化指向链表头结点head,前进时快指针fast在前,慢指针slow在后,巧妙解决链表中的一些问题。 1、判断链表中是否有环 经典解法就是用两个指针,一个每次前进两步,一个每次前进一步。如果 ...
分类:
其他好文 时间:
2021-02-26 13:25:46
阅读次数:
0
总结 插入: 插入的节点都为红色 没有根节点,连到root 其他情况插入后,重平衡 插入重平衡 根节点,调为黑色即可 插入结点的父节点为黑色,不需要重平衡 插入节点的父节点为红色 3.1. 插入节点的父节点为左节点(确定叔叔节点) 3.1.1. 插入结点为左节点 3.1.1.1. 插入节点的叔叔结点 ...
分类:
编程语言 时间:
2021-02-25 12:12:42
阅读次数:
0
凡凡题解 ##ST表 \(f[i][j]\) 表示从 \(i\) 结点向上走到的第 \(2^j\) 个结点 \(f[i][0] = father[i]\),\(f[i][j] = f[f[i][j-1]][j-1]\) (先走 \(2^{j-1}\) 步,再走 \(2^{j-1}\) 步) void ...
分类:
其他好文 时间:
2021-02-24 12:50:19
阅读次数:
0
1、平衡二叉树出现的原因 二叉排序树的弊端 数列:1,2,3,4,5,6 创建出来的二叉排序树为: 2、平衡二叉树概念 平衡二叉搜索树 AVL树 保证查询效率最高 一颗空树或者是一颗左右两颗子树的高度差的绝对值不超过1, 并且左右子树分别也是平衡二叉树的树 2.1、二叉树结点 // 树结点 priv ...
分类:
其他好文 时间:
2021-02-20 12:44:09
阅读次数:
0