1.设计一个高效的算法,从顺序表L中删除所有值为x的元素,要求时间复杂度为O(n),空间复杂度为O(1). 2.算法实现带头节点单链表的就地址逆置问题。 3.已知一个带头结点的单链表L,其结点的元素值以非递减顺序排列,设计算法删除该单链表中元素值重复的结点。 4.以二叉链表做存储结构,编写算法输出二 ...
分类:
编程语言 时间:
2018-06-30 20:21:45
阅读次数:
263
理解下头结点1.头结点是为了操作的统一与方便而设立的,放在第一个元素结点之前,其数据域一般无意义(当然有些情况下也可存放链表的长度)。2.有了头结点后,对在第一个元素结点前插入结点和删除第一个结点,其操作与对其它结点的操作统一了。3.首元结点也就是第一个元素的结点,它是头结点后边的第一个结点。4.头 ...
分类:
其他好文 时间:
2018-06-27 11:26:20
阅读次数:
238
题目:输入一个链表,输出该链表中倒数第K个结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始他们的值一次是1、2、3、4、5、6.这个链表的倒数第3个结点是值为4的结点。 解题思路:本题中所给的链表是单向链表,单向链表的结点只有从前往 ...
分类:
其他好文 时间:
2018-06-21 13:44:19
阅读次数:
143
算法的整体思路是: 先判断传入参数的情况:如果为空则返回null 判断尾节点是否为空:如果尾节点不为空,则将链表中要删除节点的后一个节点的值赋值给要删除的节点。 如果尾节点为空,则判断该链表是否只有一个节点,如果是只有一个节点,则返回null, 如果不是只有一个节点,则遍历到最末尾的节点,将其删除。 ...
分类:
其他好文 时间:
2018-06-17 21:24:41
阅读次数:
168
什么是Map? Map的三个特点 1.包含键值对 2.键唯一 3.键对应的值唯一 一: 什么是Hash Hash,也可以称为“散列”,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值。这是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输 ...
分类:
其他好文 时间:
2018-06-15 01:06:40
阅读次数:
225
一、栈的链式存储结构,简称为链栈。思路就是把栈顶放在单链表的头部,通常对于链栈来说,是不需要头结点的。 二、链栈基本不存在栈满的情况,除非内存已经没有可以使用的空间。对于空栈来说,链表原定义是头指针指向空,那么链栈的空其实就是top=NULL。 三、栈的链式存储结构的C语言代码实现: 四、栈的链式存 ...
分类:
其他好文 时间:
2018-06-14 18:17:04
阅读次数:
138
''' 并查集: 1.用于查如何A,B是否在一个集合中. 2.每一个集合设立一个头结点.其他都连向他 3.集合合并就是把小的集合挂到大的集合下面即可 4.优化.查询到一个a在b这个头结点下面,那么直接把a.next=b ''' class bingcha(): def __init__(self): ...
分类:
其他好文 时间:
2018-06-13 14:49:37
阅读次数:
186
Java中阻塞队列接口BlockingQueue继承自Queue接口,并提供put、take阻塞方法。两个主要的阻塞类实现是ArrayBlockingQueue和LinkedBlockingQueue。阻塞队列的主要方法 一、ArrayBlockQueue的原理与实现 ArrayBlockingQu ...
分类:
数据库 时间:
2018-06-13 12:01:35
阅读次数:
217
1.创建头结点,头结点的next指向null 2.把头结点赋值给一个中间变量 3.循环中创建结点, 中间变量的next指向新结点 4.新结点覆盖中间变量 c语言版: go语言版: php语言版: ...
分类:
编程语言 时间:
2018-06-11 13:40:18
阅读次数:
263
【题目】中文版 英文版 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 ...
分类:
其他好文 时间:
2018-06-05 18:44:23
阅读次数:
176