数据结构
HOLD ON!
莫见长安行乐处,空令岁月易蹉跎。
展开
-
数据结构——串(朴素的模式匹配算法、KMP模式匹配算法)
数据结构——串(朴素的模式匹配算法、KMP模式匹配算法)键盘上的钢琴师_v5提示:以下内容不适合零基础人员,仅供笔者复习之用。概要:串是由零个或多个字符组成的有限序列,又名叫字符串。一、串的比较 给定两个串,s = "a1a2.....an",t="b1b2....bm",当满足以下条件之一时,s<t。n<m,且ai = bi(i=1,2,.....,n)。例如,s="hap",t="happy",就有s<t。 存在某个k<=min(m,n),使得...转载 2020-10-06 09:39:54 · 2853 阅读 · 0 评论 -
数据结构与算法—一文多图搞懂双链表
数据结构与算法—一文多图搞懂双链表前言前面讲过线性表中顺序表和链表的实现和性质。但是在数据结构与算法中,双向链表无论在考察还是运用中都占有很大的比例,笔者旨在通过本文与读者一起学习分享双链表相关知识。双链表介绍与单链表区别逻辑上没有区别。他们均是完成线性表的内容。主要的区别是结构上的构造有所区别。对于单链表:对于一个节点,有储存数据的data。和next后驱节点(指针)。也就是这个单链表想要一些遍历的操作都得通过前节点—>后节点。对于双链表:对于一个节点,有些和单..转载 2020-06-13 14:21:52 · 168 阅读 · 0 评论 -
平衡二叉树、B树、B+树、B*树
平衡二叉树、B树、B+树、B*树huangshulang12341、平衡二叉树(1)由来:平衡二叉树是基于二分法的策略提高数据的查找速度的二叉树的数据结构;(2)特点:平衡二叉树是采用二分法思维把数据按规则组装成一个树形结构的数据,用这个树形结构的数据减少无关数据的检索,大大的提升了数据检索的速度;平衡二叉树的数据结构组装过程有以下规则:非叶子节点只能允许最多两个子节点存在,每一个非叶子节点数据分布规则为左边的子节点小当前节点的值,右边的子节点大于当前节点的值(这里值是基于自己的算.转载 2020-06-07 15:16:43 · 139 阅读 · 1 评论 -
数据结构-B+树
B+树天才程序YUAN 2020-05-06 10:26:15 15251 收藏 375 原力计划展开《计算机网络自顶向下方法》学习专栏涵盖《计算机网络自顶向下方法》的知识点,实验和经典习题。按内容可分为计算机网络概述、应用层、传输层、网络层和数据链路层。实验包括HTTP 代理服务器的设计与实现、GBN 协议的设计与实现、利用 Wireshark 进行协议分析、简单网络组建及配置和IPv4分组收发/转发实验。天才程序YUAN¥9.90订阅前言上周我通过阿里一面,岗位是客户端开发工...转载 2020-05-12 08:09:44 · 291 阅读 · 0 评论 -
数据结构-树-树的前序、中序、后序遍历详解
树的前序遍历、中序遍历、后序遍历详解1.前序遍历图1对于当前节点,先输出该节点,然后输出他的左孩子,最后输出他的右孩子。以上图为例,递归的过程如下:(1):输出 1,接着左孩子;(2):输出 2,接着左孩子;(3):输出 4,左孩子为空,再接着右孩子;(4):输出 6,左孩子为空,再接着右孩子;(5):输出 7,左右孩子都为空,此时 2 的左子树全部输出,2 的右子树为空...转载 2020-04-29 22:01:44 · 6339 阅读 · 1 评论 -
什么是滑动窗口
什么是滑动窗口,以及如何用滑动窗口解这道题(C++/Java/Python)nettee发布于3 天前9.2kSliding WindowC++JavaPython什么是滑动窗口滑动窗口可以看成数组中框起来的一个部分。在一些数组类题目中,我们可以用滑动窗口来观察可能的候选结果。当滑动窗口从数组的左边滑到了右边,我们就可以从所有的候选结果中找到最优的结果。对于这道题来说,数组就是正...转载 2020-03-08 20:24:49 · 4516 阅读 · 0 评论 -
数据结构-解决hash冲突的三个方法
解决hash冲突的三个方法目录开放定址法 线性探测再散列 二次探测再散列 伪随机探测再散列 再哈希法 链地址法 建立公共溢出区 优缺点 开放散列(open hashing)/ 拉链法(针对桶链结构) 封闭散列(closed hashing)/ 开放定址法 通过构造性能良好的哈希函数,可以减少冲突,但一般不可能完全避免冲突,因此解决冲突是哈希法的另一个关键问...转载 2019-12-23 18:58:38 · 756 阅读 · 0 评论 -
17张图带你解析红黑树的原理!保证你能看懂!
17张图带你解析红黑树的原理!保证你能看懂!2019-11-20 16:02:38程序员追风阅读数 3086收藏更多分类专栏:Java版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/Design407/article/details/103164753二叉查...转载 2019-12-07 08:48:47 · 138 阅读 · 1 评论 -
二叉堆(最小堆, 最大堆)介绍与实现
二叉堆(最小堆, 最大堆)介绍与实现2019-06-13 11:53:16江无羡阅读数 508版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/HinstenyHisoka/article/details/91817687二叉堆是一种特殊的二叉树, 它总是保证一棵树的最小...转载 2019-10-11 10:36:11 · 1035 阅读 · 0 评论 -
数据结构之树
数据结构之树lishinho本文链接:https://blog.csdn.net/wannuoge4766/article/details/83998377本篇只涉及树的概念范围和应考思路,不涉及具体结构或算法的实现与思考1.树在计算器科学中,树(英语:tree)是一种抽象数据类型或是实现这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>0)个...转载 2019-10-09 20:02:30 · 150 阅读 · 0 评论 -
数组和广义表
数组和广义表数组和广义表可看成是一种特殊的线性表,其特殊在于: 表中的元素本身也是一种线性表。内存连续。根据下标在O(1)时间读/写任何元素。二维数组,多维数组,广义表、树、图都属于非线性结构数组数组的顺序存储:行优先顺序;列优先顺序。数组中的任一元素可以在相同的时间内存取,即顺序存储的数组是一个随机存取结构。关联数组(Associative Array),又称映射(Map)、...转载 2019-09-16 12:33:27 · 499 阅读 · 0 评论 -
数据结构-串
串串(String)是零个或多个字符组成的有限序列。长度为零的串称为空串(Empty String),它不包含任何字符。通常将仅由一个或多个空格组成的串称为空白串(Blank String) 注意:空串和空白串的不同,例如“ ”和“”分别表示长度为1的空白串和长度为0的空串。串的表示和实现:定长顺序存储表示。静态存储分配的顺序表。 堆分配存储表示。存储空间是在程序执行过程...转载 2019-09-16 10:03:17 · 134 阅读 · 0 评论 -
八大数据结构
八大数据结构大数据文摘出品编译:Hope、睡不着的iris、胡笳、云舟瑞士计算机科学家Niklaus Wirth在1976年写了一本书,名为《算法+数据结构=编程》。40多年后,这个等式仍被奉为真理。这就是为什么在面试过程中,需要考察软件工程师对数据结构的理解。几乎所有的问题都需要面试者对数据结构有深刻的理解。无论你是初入职场的新兵(刚从大学或者编程培训班毕业),还...转载 2019-05-24 22:28:03 · 183 阅读 · 0 评论 -
B树、B-树、B+树与红黑树
2018年08月22日 17:21:32MrLipf阅读数 18390转载:https://blog.csdn.net/qq_17612199/article/details/50944413目录二叉查找树(BST):插入算法删除算法平衡二叉查找树红黑树B树(多叉查找树):B-树B+树:B*树为什么说B+树比B 树更适合实际应用中操作系统的文件索...转载 2019-07-12 22:43:41 · 164 阅读 · 0 评论 -
30张图带你彻底理解红黑树
30张图带你彻底理解红黑树安卓大叔关注写在前面当在10亿数据中只需要进行10几次比较就能查找到目标时,不禁感叹编程之魅力!人类之伟大呀! —— 学红黑树有感。终于,在学习了几天的红黑树相关的知识后,我想把我所学所想和所感分享给大家。红黑树是一种比较难的数据结构,要完全搞懂非常耗时耗力,红黑树怎么自平衡?什么时候需要左旋或右旋?插入和删除破坏了树的平衡后怎么处理?...转载 2019-07-11 20:22:21 · 318 阅读 · 8 评论 -
数据结构:堆(Heap)
数据结构:堆(Heap)堆就是用数组实现的二叉树,所有它没有使用父指针或者子指针。堆根据“堆属性”来排序,“堆属性”决定了树中节点的位置。堆的常用方法:构建优先队列 支持堆排序 快速找出一个集合中的最小值(或者最大值) 在朋友面前装逼堆属性堆分为两种:最大堆和最小堆,两者的差别在于节点的排序方式。在最大堆中,父节点的值比每一个子节点的值都要大。在最小堆中,父节点的值...转载 2019-07-18 23:23:27 · 144 阅读 · 0 评论 -
数据结构:图(Graph)
数据结构:图(Graph)唐先僧关注图看起来就像下图这样:在计算机科学中,一个图就是一些顶点的集合,这些顶点通过一系列边结对(连接)。顶点用圆圈表示,边就是这些圆圈之间的连线。顶点之间通过边连接。注意:顶点有时也称为节点或者交点,边有时也称为链接。一个图可以表示一个社交网络,每一个人就是一个顶点,互相认识的人之间通过边联系。图有各种形状和大小。边可以有权重(we...转载 2019-07-20 23:10:23 · 700 阅读 · 0 评论 -
ACM向:关于优先队列priority_queue自定义比较函数用法整理
版权声明:(╯3╰) 转载请注明:https://blog.csdn.net/bat67/article/details/77585312关于优先队列priority_queue自定义比较函数用法整理原来上不了网,写在word里了,代码什么的直接贴过来了,有空整理成高亮的形式。0.0、首先注意一点,priority_queue没有front()方法,和一般的queue不一样,与这个方...转载 2019-08-08 21:18:12 · 357 阅读 · 0 评论 -
数据结构 Hash表(哈希表)
数据结构 Hash表(哈希表)2018年05月20日 01:23:34洌冰阅读数 14963版权声明:本文为博主原创文章,转载请注明出处https://blog.csdn.net/u011109881/article/details/80379505参考链接:数据结构(严蔚敏)一、什么是Hash表要想知道什么是哈希表,那得先了解哈希函数哈希函数对比之前博客讨论的...转载 2019-08-11 11:56:46 · 310 阅读 · 0 评论 -
数据结构之线性结构和非线性结构
数据结构之线性结构和非线性结构线性结构:一、概念线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系。 线性结构拥有两种不同的存储结构,即顺序存储结构和链式存储结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的,链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息。 线性结构中存在两种操作受限的使用...转载 2019-08-25 10:55:48 · 1166 阅读 · 0 评论