这里把无共享表的广义表的运算代码(基于附加头节点的链表表示)稍作修改,得到了基于附加头节点链表表示的共享表运算代码,这里就不详细注释了,可以参考之前发布的无共享表运算代码的注释来帮助理解,在共享表运算代码里映射表标准库类型map起到了重要作用 广义表(包括共享表情形)字符串形式和链表表示的相互转换: ...
分类:
其他好文 时间:
2018-02-10 17:03:17
阅读次数:
163
思路:添加头节点,依次反转相邻元素,保持反转后的最后一个指针pre,当前被反转的第一个元素的指针cur,当前被反转的第二个元素的指针next(如果存在的话)。反转的思路和92. Reverse Linked List II差不多,只不过pre要移动。 ...
分类:
其他好文 时间:
2018-02-04 22:51:06
阅读次数:
202
1.hash_set集合容器 hash_set利用链式哈希表,进行数据的插入、删除和搜索。与set容器同样,不同意插入反复键值的元素。SGIC++哈希表是一个链式的结构,由表头和一系列单链组成。表头是一个数组式的线性表,用vector向量泛化出来。每一个表头节点,称为桶(bucket),是一个指针域 ...
分类:
其他好文 时间:
2018-02-04 16:46:05
阅读次数:
114
class Node:#节点类 next = None#节点指针指向下一个 def __init__(self,data): self.data=data class Queue: first = Node(None)#头节点 last = Node(None)#尾节点 def inQueue(se ...
分类:
编程语言 时间:
2018-02-04 11:17:22
阅读次数:
123
在学习数据结构时,相信不少笔友们会被指针这个知识点困住,小小的一个设计到指针的算法可能会耗费你很多时间才可能完善,归咎到底就是没有注意到空指针的发生。本人在下面举个栗子: 已知一个带头节点的单链表L,其节点如下定义: 现在设计一个算法,查找最后一个值为e的节点的逻辑结构:呵呵,看着挺简单的吧,只需要 ...
分类:
编程语言 时间:
2018-02-03 00:46:53
阅读次数:
267
给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。 样例 给出链表1->2->3->4->5->null和 n = 2. 删除倒数第二个节点之后,这个链表将变成1->2->3->5->null. 挑战 O(n)时间复杂度 /** * Definition of ListNode * clas ...
分类:
其他好文 时间:
2018-01-28 21:56:30
阅读次数:
165
不变量,临界区和判定条件 不变量(Invariant):程序所做的一些假设,特别是指变量之间的关系。如:一个queue,有头节点,和其它数据节点,这些元素之间的连接关系就是不变量。当程序里面不变量遭受破坏时,后果往往是很严重的,轻则数据出错,重则程序直接崩溃。 临界区(Critical Sectio ...
分类:
其他好文 时间:
2018-01-26 20:49:33
阅读次数:
131
思路:区域覆盖问题。一个自然的想法是将每个员工的工作时间段看做一个木棒,每个木棒的长度就是这个时间段的时长。然后按照木棒的起始位置升序排列,接着由低位置向高位置一个木棒一个木棒的看过去。如果当前木棒的末节点的位置>下一个木棒的头节点位置,那么这两个节点就是一个free time的开头和结尾;如果当前 ...
分类:
其他好文 时间:
2018-01-17 20:02:29
阅读次数:
363
一、概念 单向链表是一种简单数据结构,由多个节点构成,每个节点里面保存了节点中的数据和指向下一个节点的引用,链表的第一个节点被称为根节点(root)或头节点(head) 二、使用Java实现基本结构 需要一个Node类和一个Link类,Node类中存放Node中保存的数据和下一个Node的指向,Li ...
分类:
其他好文 时间:
2017-12-31 12:58:01
阅读次数:
144
1. 原题链接 https://leetcode.com/problems/remove-nth-node-from-end-of-list/description/ 2. 题目要求 给出一个链表,请删除倒数第n个结点并返回头节点 注意:给出的n总在合法范围内;只用一次遍历; 3. 解题思路 删除倒 ...
分类:
其他好文 时间:
2017-12-24 11:21:46
阅读次数:
140