2019年2月13日
摘要: 1.AVL树介绍 前面我们已经介绍了二叉搜索树。普通的二叉搜索树在插入、删除数据时可能使得全树的数据分布不平衡,退化,导致二叉搜索树最关键的查询效率急剧降低。这也引出了平衡二叉搜索树的概念,平衡二叉搜索树在此前的基础上,通过一系列的等价变换使二叉搜索树得以始终处于"平衡"的状态,拥有稳定且高效的查询 阅读全文
posted @ 2019-02-13 20:15 小熊餐馆 阅读(797) 评论(0) 推荐(0) 编辑
  2019年1月24日
摘要: 1.二叉搜索树介绍 前面我们已经介绍过了向量和链表。有序向量可以以二分查找的方式高效的查找特定元素,而缺点是插入删除的效率较低(需要整体移动内部元素);链表的优点在于插入,删除元素时效率较高,但由于不支持随机访问,特定元素的查找效率为线性复杂度O(n),效率较低。 向量和链表的优缺点是互补的,那么有 阅读全文
posted @ 2019-01-24 22:40 小熊餐馆 阅读(1037) 评论(1) 推荐(0) 编辑
  2019年1月3日
摘要: 1.哈希表介绍 前面我们已经介绍了许多类型的数据结构。在想要查询容器内特定元素时,有序向量使得我们能使用二分查找法进行精确的查询((O(logN)对数复杂度,很高效)。 可人类总是不知满足,依然在寻求一种更高效的特定元素查询的数据结构,哈希表/散列表(hash table)就应运而生啦。哈希表在特定 阅读全文
posted @ 2019-01-03 21:50 小熊餐馆 阅读(2706) 评论(0) 推荐(3) 编辑
  2018年12月19日
摘要: 1.双端队列介绍 在介绍双端队列之前,我们需要先介绍队列的概念。和栈相对应,在许多算法设计中,需要一种"先进先出(First Input First Output)"的数据结构,因而一种被称为"队列(Queue)"的数据结构被抽象了出来(因为现实中的队列,就是先进先出的)。 队列是一种线性表,将线性 阅读全文
posted @ 2018-12-19 22:09 小熊餐馆 阅读(3061) 评论(0) 推荐(0) 编辑
  2018年12月6日
摘要: 1.栈的介绍 在许多算法设计中都需要一种"先进后出(First Input Last Output)"的数据结构,因而一种被称为"栈"的数据结构被抽象了出来。 栈的结构类似一个罐头:只有一个开口;先被放进去的东西沉在底下,后放进去的东西被放在顶部;想拿东西必须按照从上到下的顺序进行操作。 示意图来自 阅读全文
posted @ 2018-12-06 21:59 小熊餐馆 阅读(879) 评论(0) 推荐(0) 编辑
  2018年12月2日
摘要: 1.链表介绍 前面我们已经介绍了向量,向量是基于数组进行数据存储的线性表。今天,要介绍的是线性表的另一种实现方式 链表。 链表和向量都是线性表,从使用者的角度上依然被视为一个线性的列表结构。但是,链表内部存储数据的方式却和向量大不相同:链表的核心是节点。节点存储"数据"的同时还维护着"关联节点的引用 阅读全文
posted @ 2018-12-02 20:10 小熊餐馆 阅读(1513) 评论(0) 推荐(0) 编辑
  2018年11月23日
摘要: 1.向量介绍 计算机程序主要运行在内存中,而内存在逻辑上可以被看做是连续的地址。为了充分利用这一特性,在主流的编程语言中都存在一种底层的被称为数组(Array)的数据结构与之对应。在使用数组时需要事先声明固定的大小以便程序在运行时为其开辟内存空间;数组通过下标值计算出地址偏移量来对内部元素进行访问。 阅读全文
posted @ 2018-11-23 21:54 小熊餐馆 阅读(1437) 评论(3) 推荐(0) 编辑
  2018年11月15日
摘要: redis主从复制 1.redis主从复制的作用 redis的定位是一个高可用的数据服务器,可是在实际生产环境下,单机的redis服务器是无法满足真正意义上的高可用性的。 第一,单机的redis服务器很容易发生单点故障,即使redis提供了各种持久化的方法来避免数据的丢失,但是物理上的故障(硬盘损毁 阅读全文
posted @ 2018-11-15 23:04 小熊餐馆 阅读(1078) 评论(1) 推荐(1) 编辑
  2018年11月13日
摘要: redis管道 1.redis管道介绍 redis采用的是CS架构,客户端与服务器端通过tcp协议进行连接通信,因此无论是发出请求还是接收响应,都必须经过网络传输。在tcp连接过程中,客户端和服务器端是通过阻塞式的一问一答方式进行通信的,即客户端必须接收到服务端完整的响应,才能进行后续请求。 有时我 阅读全文
posted @ 2018-11-13 21:54 小熊餐馆 阅读(4224) 评论(0) 推荐(1) 编辑
  2018年11月10日
摘要: redis过期时间 1.redis过期时间介绍 有时候我们并不希望redis的key一直存在。例如缓存,验证码等数据,我们希望它们能在一定时间内自动的被销毁。redis提供了一些命令,能够让我们对key设置过期时间,并且让key过期之后被自动删除。 2.redis过期时间相关命令 1.EXPIRE 阅读全文
posted @ 2018-11-10 12:48 小熊餐馆 阅读(60900) 评论(0) 推荐(2) 编辑