treap通过左右旋维护了一个二叉查找树,根据随机的优先级建立满足优先级大根堆的二叉查找树,在实践中有不错的食府,code也简单。cogs1829 普通平衡树题目大意:进行插入、删除、名次、前驱后继。思路:前面的三种操作都很普通,前驱后继有两种做法(非常不正统吧。。。):1)找到这个数的名次,然后+...
分类:
其他好文 时间:
2015-01-10 10:03:48
阅读次数:
251
1.列表的介绍
列表是采用动态储存策略的典型结构,它的基本单位是节点。各节点通过引用或者指针彼此连接,在逻辑上构成一个线性序列。相邻节点彼此互称为前驱(predecessor)和后继(successor),如果前驱或后继存在则必然唯一,没有前驱(后继)的节点被称为首(末)节点(在有些列表的实际实现中,首(末)节点是拥有前驱(后继)的,它们被称为头(尾)节点,这两个节点并没有实际作用,也不会对...
分类:
其他好文 时间:
2015-01-03 11:58:19
阅读次数:
188
题解:
首先曼哈顿距离有些不好维护,但是它可以转化:
一个点本来的坐标是(x,y),那么可以转化成(x+y,x-y)
这样就人为构造出一种性质:1、2两点曼哈顿距离=max(|x1-x2|,|y1-y2|);
这样我们就可以排序单调搞掉一维,然后另一维只需要求前驱后继到该点的距离
满足则加并查集。
这个过程可以用权值线段树,也可以用平衡树。但是权值线段树还需要离散化,反...
分类:
其他好文 时间:
2015-01-02 12:21:22
阅读次数:
204
这道题做了好长时间都没通过,参考了http://blog.csdn.net/niaokedaoren/article/details/8884938的实现,其中在求前驱单词记录时,申请的数组要采用vector>这样,在判断是否结束时,查找效率更高,否则用前向单词记录表查找时效率会很低。算法中的递归找...
分类:
其他好文 时间:
2015-01-01 14:45:57
阅读次数:
139
1,双向链表简介。双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。2,例子要求:完成双向链表的插入、删除以及查找,将学生管理系统使用的数组,以双向链表的方式实现,能够支持无限制的学生人数的增删改查以及保存。3,代码实现。#include #inc...
分类:
编程语言 时间:
2015-01-01 00:15:18
阅读次数:
318
顺序存储结构
一、线性表基本概念
1.线性表定义
线性表(list)是指零个或多个数据元素的有限序列,所有数据元素为相同数据类型且一个数据元素可以由多个数据项组成。若将线性表记为(a1,..ai-1,ai,ai+1...,an),线性表元素的个数n(n>0,n=0时为空表)定义为线性表的长度,其中ai-1是ai 的直接前驱元素,ai+1是ai的直接后继元素。
2.线性表的抽象数据类...
分类:
其他好文 时间:
2014-12-28 20:53:40
阅读次数:
157
1. 线索化二叉树一颗有n个节点的二叉树,必然有n + 1个空指针,可以利用这些空指针记录二叉树的某种遍历序的前驱和(或)后继信息下面给出中序线索化二叉树的代码: 1 #include 2 3 struct ThreadTreeNode { 4 int val; 5 bool l...
分类:
其他好文 时间:
2014-12-27 11:19:03
阅读次数:
203
在CLH锁核心思想的影响下,Java并发包的基础框架AQS以CLH锁作为基础而设计,其中主要是考虑到CLH锁更容易实现取消与超时功能。比起原来的CLH锁已经做了很大的改造,主要从两方面进行了改造:节点的结构与节点等待机制。在结构上引入了头结点和尾节点,他们分别指向队列的头和尾,尝试获取锁、入队列、释放锁等实现都与头尾节点相关,并且每个节点都引入前驱节点和后后续节点的引用;在等待机制上由原来的自旋改...
分类:
编程语言 时间:
2014-12-26 23:02:18
阅读次数:
370
作为系列的最后一篇,得要说说C#驱动对mongodb的操作,目前驱动有两种:官方驱动和samus驱动,不过我个人还是喜欢后者,因为提供了丰富的linq操作,相当方便。官方驱动:https://github.com/mongodb/mongo-csharp-driver/downloads。下载后,还...
分类:
数据库 时间:
2014-12-25 20:02:28
阅读次数:
320
DataStructer主要研究数据之间的组织关系(逻辑结构)一:线性表结构(一对一)---从物理区分1:顺序存储结构(典型的数组结构ArrayList):特点:查找很快(随机访问),插入,删除很慢。前驱节点不受影响,后续节点受影响。最好的情况是追加在最后,最坏的情况是插入第一位置,此时..
分类:
编程语言 时间:
2014-12-23 06:46:09
阅读次数:
161