算法简介 二分查找 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。 首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将 ...
分类:
编程语言 时间:
2020-05-11 23:43:48
阅读次数:
96
1 键值数据库 相关产品:Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached 应用:内容缓存 优点:扩展性好、灵活性好、大量写操作时性能高 缺点:无法存储结构化信息、条件查询效率较低 使用者:百度云(Redis)、GitHub(Riak)、BestBuy ...
分类:
数据库 时间:
2020-05-11 23:35:12
阅读次数:
140
队列,和栈一样,也是一种对数据的"存"和"取"有严格要求的线性存储结构。 与栈结构不同的是,队列的两端都"开口",要求数据只能从一端进,从另一端出,如图 1 所示: 图 1 队列存储结构 通常,称进数据的一端为 "队尾",出数据的一端为 "队头",数据元素进队列的过程称为 "入队",出队列的过程称为 ...
分类:
其他好文 时间:
2020-05-10 20:52:00
阅读次数:
78
List类型的存储结构——底层是双向链表结构 一、List类型数据基本操作 添加/修改数据 lpush key value1 value2 #从左边一个个插入 rpush key value2 value2 #从右边一个个插入 获取数据 lrange key start stop #start和st ...
分类:
其他好文 时间:
2020-05-10 13:02:25
阅读次数:
63
二者对比 1.Hive 数据仓库:本质其实就相当于将hdfs中已经存储的文件在Mysql中做了一个双射关系,以方便用HQL去管理查询。 用于数据分析、清洗:Hive适用于离线的数据分析和清洗,延迟较高。 基于HDFS、MapReduce:Hive存储的数据依旧在DataNode上,编写的HQL语句终 ...
分类:
其他好文 时间:
2020-05-09 01:23:51
阅读次数:
63
前文传送门: "「一本正经的聊数据结构(1):时间复杂度」" "「一本正经的聊数据结构(2):数组与向量」" "「一本正经的聊数据结构(3):栈和队列」" "「一本正经的聊数据结构(4):树」" 存储结构 前面的内容我们介绍了树和二叉树的一些基础概念,树是数据结构中的重中之重,而二叉树又是树结构中的 ...
分类:
其他好文 时间:
2020-05-08 09:36:28
阅读次数:
59
第八章 磁盘管理 7.2 外存的分配 文件的物理结构(存储结构) 一、连续分配(顺序文件) 为每一个文件分配一组相邻接的盘块。 优点:顺序访问容易,顺序访问速度快。 缺点:要求为一个文件分配连续的存储空间;必须事先知道文件的长度;不便于增删改。 二、链接分配(链接文件) 优点:消除了磁盘的外部碎片, ...
分类:
其他好文 时间:
2020-05-07 15:30:33
阅读次数:
82
简介 跳表是一个随机化的数据结构,实质就是一种可以进行二分查找的有序链表。 跳表在原有的有序链表上面增加了多级索引,通过索引来实现快速查找。 跳表不仅能提高搜索性能,同时也可以提高插入和删除操作的性能。 存储结构 跳表在原有的有序链表上面增加了多级索引,通过索引来实现快速查找。 源码分析 主要内部类 ...
分类:
其他好文 时间:
2020-05-06 21:47:19
阅读次数:
77
一、内容小结 (一) 串 定义 空串、子串、主串等概念 顺序存储——堆 链式存储 (二) 串的模式匹配算法 BF算法 KMP算法 (三) 数组 顺序存储 特殊矩阵的压缩存储 (四) 广义表 定义 取表头和取表尾两个运算 头尾链表、拓展线性链表的存储结构 (五)对string类型进一步了解 二、心得体 ...
分类:
其他好文 时间:
2020-05-05 23:49:07
阅读次数:
100
内容小结: 第四章学习了串、数组、广义表等,其中包括: 1.串: ①串的定义:注意空串(Ø)和空格串(“ ”)的区别。 ②串的存储结构:分为顺序存储和链式存储,其中: i. 顺序存储又分为定长顺序存储和堆式顺序存储,前者为静态存储,相当于一维数组,而后者为动态存储; ii. 链式存储:每个结点可以存 ...
分类:
其他好文 时间:
2020-05-05 20:07:59
阅读次数:
63