一,线性表的概念以及数学定义 1.线性表的概念 零个或多个数据元素的有限序列。首先说明这是一个序列,也就是说数据元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他每个元素都有且仅有一个前驱和后继。 2.数学定义 若将线性表记为(a1...ai-1,ai,ai+1.... ...
分类:
其他好文 时间:
2017-01-03 22:14:29
阅读次数:
322
数据结构 数据结构分 线性数据结构给非线性数据结构 数据和结合 线性表(顺序存储方式)特点:有且仅有一个开始结点和一个终结结点, 内部任意结点均只有一个前驱结点和一个后继结点,且具备增删改查的功能 线性表的顺数存储 :数组 线性表链式存储:单链表栈 堆栈 数据 遵循后进先出 LIFO 规则 入口 称 ...
分类:
其他好文 时间:
2016-12-09 16:09:52
阅读次数:
274
指向前驱和后继的指针称为线索,加上线索的二叉链表称为线索链表,相应的二叉树就称为线索二叉树(Threaded Binary Tree)。 线索化的实质就是将二叉链表的空指针改为指向前驱或后继的线索。由于前驱和后继的信息只有在遍历该二叉树时才能得到,所以线索化的过程就是在遍历的过程中修改空指针的过程。 ...
分类:
其他好文 时间:
2016-12-09 11:35:23
阅读次数:
192
双向链表(double linked list)是在单链表的每个结点中,再设置一个指向其前驱结点的指针域。结点都有两个指针域,一个指向直接后继,另一个指向直接前驱。 实例: 链表——双向链表 实例: 链表——双向链表 实例: 链表——双向链表 现在分析添加的情况已经有1号英雄和5号英雄,现在要添加3 ...
分类:
其他好文 时间:
2016-12-09 10:30:32
阅读次数:
227
然而我还是在继续刷水题。。。 终于解开了区间第k大的心结。。。 比较裸的线段树套平衡树,比较不好想的是求区间第k大时需要二分一下答案,然后问题就转化为了第一个操作。复杂度nlog3n。跑的比较慢。。。 在查前驱后继的时候写错了。。。如果要直接赋值ans的话前驱是k[x]<=z,后继是k[x]<z,如 ...
分类:
其他好文 时间:
2016-12-08 21:25:31
阅读次数:
312
题意: 给你s(3000)个人,有两个社团,分别招收n和m(n+m<=s)个人, 每个人对这两个社团分别有一个自己的喜爱值(3000), 问怎样安排使得总的喜爱值最大,spj 思路: 如果n+m==s的话,裸的n^2的dp记一下前驱。。然而可以小于的话, 我除了n^3的就没有其他思路了。。。(弱就是 ...
分类:
其他好文 时间:
2016-12-02 18:23:53
阅读次数:
241
最短路问题。 从起点和终点开始各跑一次dijkstra,可以得到起点、终点到任意点的距离。枚举使用的商业线路,找最优解。 破题卡输出,记录前驱和输出什么的仿佛比算法本身还麻烦。 ...
分类:
其他好文 时间:
2016-11-22 17:57:57
阅读次数:
215
线性链表——双向链表 双向链表定义: 双向链表(double linked list): 是在单表单的每个结点中,再设置一个指向前驱结点的指针域。因此,在双向链表中的结点都有两个指针域,一个指向前驱,一个指向后继。 双向链表的存储结构 typedef struts DulNode{ Element ...
分类:
编程语言 时间:
2016-11-17 19:49:54
阅读次数:
225
对于一个普通的二叉树 我们可以很明显的看到,在一个二叉树中,会有许多的空结点,而这些空结点必然会造成空间的浪费,为了解决这个问题,我们可以引入线索二叉树,把这些空结点利用起来,利用 ‘^’ 记录给定结点的前驱后继,那么问题就来了,该如何建立呢? 前面我们说过四种的遍厉方法,我应该用哪种方法来建立线索 ...
分类:
其他好文 时间:
2016-11-15 11:07:12
阅读次数:
261
1.数据的逻辑结构: 1)线性结构:(只有一个开始结点和一个终端结点) 2)非线性结构:(一个结点有多个前驱结点和后继结点) A: 集合:(元素之间的关系较为松散) B: 线性结构:(元素之间存在严格的一对一的关系) C: 树形结构:(元素之将存在严格的一对多关系) D: 网状结构: (元素之间存在 ...
分类:
编程语言 时间:
2016-11-14 20:30:38
阅读次数:
213