第二章主要学习的是线性表,其中包含了顺序表以及链表,顺序表有两种结构体定义,一种是指针,再申请相应数组空间,一种是直接定义数组,前者数组为堆空间,后者则为栈空间,如果数组长度过大,得考虑空间是否充足问题,因而前者适用性更好; 链表主要为单链表,循环链表,双向链表;主要涉及到删除、查找、插入等操作,在 ...
分类:
其他好文 时间:
2020-04-03 13:40:10
阅读次数:
70
学习自《Redis开发与运维(付磊)》 [TOC] 简介 Redis是一种基于键值对(key value)的NoSQL数据库。 特性 1. 速度快 Redis的数据都存放在内存中,代码通过C语言实现,使用了单线程的IO多路复用机制,这些都使得redis的读写速度非常快。 2. 基于键值对的数据结构服 ...
分类:
其他好文 时间:
2020-03-30 21:52:13
阅读次数:
74
list也是一个容器,和vector一样,不同的是,list是用双向链表实现的,所以对于list来说,在中间插入删除数据要比vector快得多 首先引入头文件 #include <list> 创建一个list string::list<int> lgh; 和vector一样 可以在创建的同时初始化 ...
分类:
其他好文 时间:
2020-03-30 19:41:29
阅读次数:
61
数据类型支持: String: key-value 二进制安全(binary safe),可存储json、JPEG格式字符串 List:双向链表 实现消息队列最经济方式 Set:key-(value1,value2,value3) 共同好友列表 Hash: key-field-value 灵活性、内 ...
分类:
其他好文 时间:
2020-03-29 12:59:55
阅读次数:
72
思维导图 重要概念 数据:是能被输入进计算机中,并能被计算操作处理的对象的总称 数据元素:是数据结构中讨论的基本单位 数据类型:整型、浮点型、字符型等等变量所具有的不同的数据种类 存储结构:又称物理结构,是描述数据具体在内存中的存储结构,分为线性结构和非线性结构 逻辑结构:是描述数据之间的相互关系, ...
分类:
编程语言 时间:
2020-03-26 10:40:34
阅读次数:
106
数据结构 2.1 数据结构有什么用? 当你用着java里面的容器类很爽的时候,你有没有想过,怎么ArrayList就像一个无限扩充的数组,也好像链表之类的。好用吗?好用,这就是数据结构的用处,只不过你在不知不觉中使用了。 现实世界的存储,我们使用的工具和建模。每种数据结构有自己的优点和缺点,想想如果 ...
分类:
其他好文 时间:
2020-03-24 13:18:04
阅读次数:
72
1:题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 为了让您更好地理解问题,以下面的二叉搜索树为例: 我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前 ...
分类:
其他好文 时间:
2020-03-23 17:01:38
阅读次数:
62
/** * 问题:反转双向链表 * * 要求: * 如果链表长度为 N,时间复杂度为O(N),额外的空间复杂度为O(1)。 * * @author 雪瞳 * */ public class Node<T>{ public T value; public Node next; public Node ...
分类:
其他好文 时间:
2020-03-19 13:20:49
阅读次数:
44
1、概述 是内存中不连续的存储区域,元素是游离存储的,每个元素会记录下一个元素的地址。 2、特点 查询元素慢; 增删元素快(针对于首尾元素,速度极快,一般是双链表); 3、图解 单向链表: 循环链表就是最后一个元素指向第一个元素地址; 双向链表: ...
分类:
其他好文 时间:
2020-03-18 22:07:44
阅读次数:
57
/** * 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。 * 所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。 * 这也就导致了在对链表数据进行删除和添加的时候要明确指定出节点的前驱节点和后继节点。 * @author ...
分类:
其他好文 时间:
2020-03-15 13:37:40
阅读次数:
43