这个算法 我个人认为是 遍历每一个点把它当成一些询问的最近祖先 1 2 3 4 5 6 low是并差集,vis是是否访问过,访问过为true,没有为false; 假设询问是(4,4),(4,5),(2,6),(3,6) 按程序最先递归到4点,之后4没有了后继节点, vis[4] = true; 证明 ...
分类:
其他好文 时间:
2017-11-10 20:14:41
阅读次数:
198
一、节点 二、链表 由一系列节点组成。 每个节点至少包括: 一个数据 一个该节点类型的指针 节点之间首尾相连 头指针:指向第一个节点的指针 尾节点:节点指针指向空 三、建立一个单向链表 1、创建节点 2.使每个节点的指针域存储后继节点的地址 ...
分类:
编程语言 时间:
2017-10-16 19:39:07
阅读次数:
143
1:这里分为两种插入情况:一种是 插入位置在中间,另一种是插入位置在末尾。两种情况有一点不同:插入位置在中间时需要把p的原后继节点的前驱指针指向新插入的节点。 // ConsoleApplication24.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #i ...
分类:
其他好文 时间:
2017-09-27 21:53:49
阅读次数:
188
1:双链表的建立,打印,代码如下: // ConsoleApplication24.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include<malloc.h> #include <iostream> #include <assert.h> using ...
分类:
其他好文 时间:
2017-09-27 19:14:32
阅读次数:
277
转自:http://www.cnblogs.com/skywang12345/p/3624343.html 红黑树的介绍 红黑树(Red-Black Tree,简称R-B Tree),它一种特殊的二叉查找树。红黑树是特殊的二叉查找树,意味着它满足二叉查找树的特征:任意一个节点所包含的键值,大于等于左 ...
分类:
编程语言 时间:
2017-08-09 12:54:26
阅读次数:
202
https://segmentfault.com/q/1010000003797714 我在看一个日本人写的书《征服 C 指针》,书上的引言提到这么一句话 确实,“C指针”有着底层而邪恶的一面,但是,它又是构造链表和树等“数据结构”不可缺少的概念。如果没有指针,我们是 做不出像样的应用程序的。所以, ...
分类:
编程语言 时间:
2017-08-02 17:41:48
阅读次数:
139
package com.wyl.linklist; /** * 合并两个链表 * @author wyl */ public class MergeLinkList { /** * 内部类,链表节点的结构 * @author wyl * */ public static class Node{ pr... ...
分类:
其他好文 时间:
2017-07-24 16:21:29
阅读次数:
117
在单链表当中,从已知节点出发,只能访问该节点的后继节点,却无法访问 该节点之前的节点,在单循环链表当中,虽然可以通过一个节点访问表中所 有节点,但是要找到直接前驱却要遍历整个表,因此为了加快寻找某个节点 的前驱,可以在每个节点的结构体上添加一个直接访问前驱的指针域来快速 定位前驱节点。下面是简单的双 ...
分类:
其他好文 时间:
2017-07-05 22:03:53
阅读次数:
183
题目: https://loj.ac/problem/516 分析: 每次将一个颜色更改为另一个颜色相当于将两个集合合并 然后对于答案的更新,一个点插入到一个集合中,那么可能更新答案的就是其前驱节点或者后继节点 所以直接用set启发式合并就ok了 时间复杂度O(nlog^2n+m) ...
分类:
其他好文 时间:
2017-07-05 13:26:36
阅读次数:
144
1、序 具体实现了二叉查找树的各种操作:插入结点、构造二叉树、删除结点、查找、 查找最大值、查找最小值、查找指定结点的前驱和后继 2、二叉查找树简单介绍 它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上全部结点的值均小于它的根结点的值。 (2)若右子树不空。则右子树上全 ...
分类:
编程语言 时间:
2017-06-06 20:51:46
阅读次数:
265