LeetCode刷题总结-链表 一、链表 链表分为单向链表、单向循环链表和双向链表,一下以单向链表为例实现单向链表的节点实现和单链表的基本操作。 单向链表 单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,而最后一 ...
分类:
其他好文 时间:
2019-06-11 13:04:55
阅读次数:
114
链表分类 单向链表 双向链表 优势: 删除某个节点更加高效, 可以快速找到前驱节点 可以方便的在某个节点前插入元素 循环链表 当要处理的数据具有环形结构的时候, 适合循环链表. 如约瑟夫环问题 双向循环链表 数组的缺点是大小固定, 一旦声明长度就要占用连续的内存空间, 当空间不够用时更换更大的空间, ...
分类:
编程语言 时间:
2019-06-09 16:57:38
阅读次数:
114
本文档分为三大部分: 环境介绍与效果演示 redis接收命令到返回数据的执行逻辑 代码实现 文档的重点和难点在第三部分,完全阅读本文档需要读者具备基本的c语言和数据结构知识。 环境介绍和效果演示环境介绍redis版本为5.0.3 64 bit操作系统版本为Ubuntu 18.10 64bit源码可以 ...
分类:
其他好文 时间:
2019-06-09 10:05:01
阅读次数:
128
1. 概述 1.1 基本概念 双向链表是指含有往前和往后两个方向的链表,即每个结点中除存放下一个节点指针外,还增加一个指向其前一个节点的指针。其头指针head是唯一确定的。 从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点,这种数据结构形式使得双向链表在查找时更加方便,特别是 ...
分类:
其他好文 时间:
2019-06-08 14:38:16
阅读次数:
74
Problem: 反转单向和双向链表 【题目】 分别实现反转单向链表和反转双向链表的函数。 【要求】 如果链表长度为N,时间复杂度要求为O(N),额外空间 复杂度要求为O(1) Solution: 学会使用指针 Code: ...
分类:
其他好文 时间:
2019-06-07 23:11:22
阅读次数:
124
Collection(接口):存储一组不唯一,且无序的元素 List: 存储一组不为一,且有序的元素 ArrayList:基于Array实现,且检索效率和随机访问效率高 LinkedList:基于链表实现(双向链表),增删效率高 Vector:线程安全的类型,所有效率均低 Set: 存储一组唯一,且 ...
分类:
其他好文 时间:
2019-06-06 09:25:46
阅读次数:
107
Memcached的优势: Memcached可以利用多核优势,单吞吐量极高,可以达到几十万QPS(取决于Key.value的字节大小以及服务器硬件性能,日常环境中QPS高峰大约在4-6w左右.)适用于最大程度抗量 支持直接配置session handle Memcached的局限性: 只支持简单的 ...
分类:
数据库 时间:
2019-06-05 21:31:30
阅读次数:
121
LinkedList是一个以双向链表实现的List,它除了作为List使用,还可以作为队列或者堆栈使用。 <! more LinkedList介绍 LinkedList继承关系 LinkedList简介 1. 是一个继承于 的双向链表。它也可以被当做堆栈、队列或双端队列进行使用。 2. 实现 接口, ...
分类:
其他好文 时间:
2019-06-02 20:39:12
阅读次数:
135
链表是由一组节点组成的集合。每个节点都使用一个对象的引用指向它的后继。指向另一个节点的引用叫做链。 链表分为单链表、双链表、循环链表。 一、单链表 插入:链表中插入一个节点的效率很高。向链表中插入一个节点,需要修改它前面的节点(前驱),使其指向新加入的节点,而新加入的节点则指向原来前驱指向的节点(见 ...
分类:
编程语言 时间:
2019-05-28 14:19:20
阅读次数:
131
1,什么是线索化二叉树? 1,将二叉树转换为双向链表的过程(非线性 ==> 线性); 1,实际工程开发中,很大一部分情况下,二叉树一旦建立之后,就不会轻易改动,一般的用于遍历,并且这种操作一般执行很多; 2,先中后序遍历都是递归完成的,实际工程开发中,对一棵已经建立的二叉树反复执行先序遍历,效率低, ...
分类:
其他好文 时间:
2019-05-26 15:50:13
阅读次数:
109