传送门 f[i][j] 表示前 i 盆花,放到前 j 个花盆中的最优解 pre[i][j] 记录前驱 代码 ...
分类:
其他好文 时间:
2017-06-21 19:56:02
阅读次数:
129
一、线性表 原理:零个或多个同类数据元素的有限序列 原理图: 特点 : 1、有序性 2、有限性 3、同类型元素 4、第一个元素无前驱,最后一个元素无后继,中间的元素有一个前驱并且有一个后继 线性表是一种逻辑上的数据结构,在物理上一般有两种实现 顺序实现和链表实现 二、基于数组的 线性表顺序实现 原理 ...
分类:
其他好文 时间:
2017-06-17 23:21:43
阅读次数:
262
呵呵,这个题不能直接删除已知的结点。由于是单链表,不知道前驱,仅仅知道 后继结点,直接删除会使链表断开。只是我们能够删除已知结点的后继结点, 把后继结点的值赋值给已知结点。 #include <iostream> struct Node { int data; Node* next; }; bool ...
分类:
编程语言 时间:
2017-06-15 10:32:42
阅读次数:
137
单向链表只能从一个方向遍历链表,即只能查找结点的下一个结点(后继结点),而不能查找结点的上一个结点(前驱结点)。鉴于上述问题,引入了双向链表。由于双向循环链表包含双向链表的所有功能操作。因此,我们只讲述双向循环链表。 与单向链表不同,双向链表的结点构造如下图所示。即一个结点由三个部分组成,数据域DA ...
分类:
其他好文 时间:
2017-06-07 22:26:34
阅读次数:
174
1、序 具体实现了二叉查找树的各种操作:插入结点、构造二叉树、删除结点、查找、 查找最大值、查找最小值、查找指定结点的前驱和后继 2、二叉查找树简单介绍 它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上全部结点的值均小于它的根结点的值。 (2)若右子树不空。则右子树上全 ...
分类:
编程语言 时间:
2017-06-06 20:51:46
阅读次数:
265
在【Java并发编程实战】—–“J.U.C”:CLH队列锁提过,AQS里面的CLH队列是CLH同步锁的一种变形。其主要从双方面进行了改造:节点的结构与节点等待机制。在结构上引入了头结点和尾节点,他们分别指向队列的头和尾,尝试获取锁、入队列、释放锁等实现都与头尾节点相关。而且每一个节点都引入前驱节点和 ...
分类:
编程语言 时间:
2017-06-05 22:08:17
阅读次数:
328
第二章 线性表 2.1 线性表及其基本运算 2.2 线性表的顺序存储结构 2.3 线性表的链式存储结构 1、线性表:是n个数据元素的有限序列。 直接前驱元素、直接后继元素,n = 0时,称为空表。 一个数据元素能够有若干个数据项组成。在这样的情况下,常把数据元素称为记录。含有大量记录的线性表又称为文 ...
分类:
其他好文 时间:
2017-06-05 10:30:43
阅读次数:
216
Description 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 1. 插入x数 2. 删除x数(若有多个相同的数,因只删除一个) 3. 查询x数的排名(若有多个相同的数,因输出最小的排名) 4. 查询排名为x的数 5. 求x的前驱(前驱定义为小于x,且最大的数) ...
分类:
其他好文 时间:
2017-06-04 16:55:00
阅读次数:
147
LinkedList由双向链表实现的集合,因此可以从头或尾部双向循环遍历。 LinkedList的操作都是对双向链表的操作,理解双向链表的数据结构就很容易理解LinkedList的实现。 双向链表由带前驱和后继的节点构成,简易如下: 如果添加一个c节点,简易步骤如下: 先创建一个新节点。然后把原先的 ...
分类:
其他好文 时间:
2017-06-03 15:11:41
阅读次数:
327
最长上升子序列。 要求输出字典序最小解。 就在更新答案的时候记录一下前驱。容易发现记录的这个玩意实际上形成了一个森林。 ...
分类:
其他好文 时间:
2017-06-02 22:05:31
阅读次数:
172