数据结构
文章平均质量分 73
LI大大
爱好广泛
展开
-
【数据结构】对B-树、B+树与B*树的简单了解
一、【B-树】 一棵M阶(M>2)的B树,是一棵平衡的M路平衡搜索树,可以是空树或者满足以下性质: 1.根节点至少有两个孩子。 2.每个非根节点至少有M/2(上取整)个孩子,至多有M个孩子。 3.每个非根节点至少有M/2-1(上取整)个关键字,至多有M-1个关键字,并且以升序排列。 4.key[i]和key[i+1]之间的孩子节点的值介于ke...原创 2018-03-20 17:18:04 · 1061 阅读 · 0 评论 -
【数据结构】二叉树
一、什么是二叉树 二叉树 (binary tree) 是另一种树型结构,它的特点是每个结点至多只有二棵子 树 (即二叉树中不存在度大于 2的结点 ),并且,二叉树的子树有左右之分,其次序不能任意颠倒 。 二叉树是一种数据结构 ,是一对多的关系。二、二叉树的创建 第一步:想要构造一颗二叉树首先要创建二叉树的节点,然后将节点按照二叉树的规则连接起来就构成了一颗二叉树。二...原创 2017-12-02 15:13:25 · 818 阅读 · 0 评论 -
【数据结构】哈希表(2)
哈希表的讲解: https://blog.csdn.net/lz201788/article/details/79735508以下是哈希表的另外的实现方式:【1.】(不使用vector)【HashTable2.h】#pragma once#include<iostream>#include<string>using namespace std;#...原创 2018-03-31 23:07:06 · 199 阅读 · 0 评论 -
【数据结构】哈希表(线性探测法)
哈希表是一种搜索结构,当数据量大时,哈希搜索的效率高,平均时间复杂度O(1)。【哈希查找】: (1)在插入时,根据待插入元素的关键码,以此函数计算出该元素的存储位置并按此位置进行存放。 (2)在搜索时,对元素的关键码进行同样的计算,把求得的函数值当作元素的存储位置,在结构中按此位置取元素比较,若关键码相等,则搜索成功。 该方式即散列方法(Hash Method),在散列方法中使用的转换函数...原创 2018-03-28 22:41:15 · 71432 阅读 · 11 评论 -
【数据结构】红黑树
一、红黑树 红黑树是一棵二叉搜索树,它在每个节点上增加了一个存储位来表示结点的颜色,可以是 red 或者 black ,通过对任何一条从根节点到叶子节点简单路径上的颜色来约束,红黑树保证最长路径不超过最短路径的两倍,因而近似平衡,而且在实际应用中发现红黑树性能确实比 AVL 树 性能高。 AVL树实现代码: https://blog.csdn.net/lz201788/article...原创 2018-03-28 23:15:56 · 227 阅读 · 0 评论 -
【数据结构】并查集
并查集: 通过数组来实现的一种将有关系的节点都联系起来的一种搜索结构。 代码实现:#include<iostream>#include<vector>using namespace std;class UnionFindSet{public: UnionFindSet(size_t size) :_n(size) ...原创 2018-04-12 12:31:39 · 230 阅读 · 0 评论 -
【数据结构】图的模拟实现(临接矩阵法)
什么是图:图是由顶点集合及顶点间的关系组成的一种数据结构:G = (V , E), 其中顶点集合V={ x| x属于某个数据对象集} 是有穷非空集合;E = {(x,y) | x,y属于V } 或者 E = { (x , y ) | x,y属于V && Path( x , y) }是顶点间关系的有穷集合,也叫做边的集合。(x, y)表示 x 到 y 的一条双向通路,即(x , ...原创 2018-04-20 23:26:20 · 766 阅读 · 0 评论