博客专栏  >  编程语言   >  数据结构

数据结构

用C++实现数据结构

关注
1 已关注
18篇博文
  • 图的遍历、最小生成树以及单源最短路径

    图的遍历主要分为两种:深度优先遍历(DFS)和广度优先遍历(BFS) DFS:深度优先遍历: 和树的前序遍历相似,首先访问出发点v,并将其标记为已访问过;然后依次从v出发搜索v的每个邻接点w。若w...

    2016-05-22 17:03
    2809
  • 图的存储

    图 : 是一种线性结构,由顶点集合(vertex)及顶点间的关系集合组成的一种数据结构。 图的存储: 临接矩阵:将所有的顶点的信息组织成一个顶点表,然后利用矩阵来表示各顶点之间的临接关系,称为临接矩阵...

    2016-05-17 10:44
    1445
  • 并查集的实现

    并查集(UnionFind):将N个不同的元素分成一组不相交的集合。 开始时,每个元素就是一个集合,然后按规律将两个集合进行合并。                                ...

    2016-05-13 22:17
    362
  • 布隆过滤器的简易实现

    布隆过滤器(Bloom Filter): 是由布隆(Burton Howard Bloom)提出的。它实际上是由一个很长的二进制向量和一系列随机映射函数组成,布隆过滤器用于检索一个元素是否在一个集合...

    2016-05-08 16:41
    1974
  • B树的实现

    B树:1970年,R.Bayer和E.mccreight提出了一种适合外查找的树,它是一种平衡的多叉树,称为B树。(有些地方写的是B-树,注意不要误读 成"B减树") 一棵M阶(M>2)的B树,是一棵...

    2016-05-07 11:41
    1822
  • 红黑树的实现

    红黑树:红黑树是一棵二叉搜索树,它在每个节点上增加了一个存储位来表示节点的颜色,可以是Red或Black。通过对任何一条从根到叶子简单 路径上的颜色来约束,红黑树保证最长路径不超过最短路径的两倍,因而...

    2016-04-30 10:11
    379
  • AVL树的实现

    AVL树:  AVL树又称为高度平衡的二叉搜索树,是1962年有俄罗斯的数学家G.M.Adel'son-Vel'skii和E.M.Landis提出来的。它能保持二叉树的高度 平衡,尽量降低二叉树的高度...

    2016-04-29 22:54
    255
  • 二叉搜索树的实现

    二叉搜索树的性质: 1.每个节点都有一个作为搜索依据的关键码(key),所有节点的关键码互不相同。 2.左子树上所有节点的关键码(key)都小于根节点的关键码(key)。 3.右子树上所有节点的...

    2016-04-15 15:49
    221
  • 堆的实现

    堆数据结构是一种数组对象,它可以被视为一棵完全二叉树结构。 堆结构的二叉树存储是 最大堆:每个父节点的都大于孩子节点。 最小堆:每个父节点的都小于孩子节点。                ...

    2016-04-13 20:10
    182
  • 非比较排序

    非比较排序有:1.计数排序(适用于要排序的数的范围不大时)  ,以数组中的数据为key值,得到它们出现的次数,                          然后根据它们出现的次数进行重新排列,得...

    2016-04-10 13:50
    201
  • 处理哈希冲突的开链法(哈希桶)

    处理哈希冲突的另一种方法:开链法

    2016-04-08 17:28
    532
  • 哈希表(hashtable)

    HashTable:  哈希表/散列表,是根据关键字(key)直接访问数据的数据结构。 它通过一个关键值的函数将所需的数据映射到表中的位置来访问数据,这个映射函数叫做散列函数,存放记录的数组...

    2016-04-08 17:24
    310
  • 比较排序算法

    常用的排序算法有:          直接插入排序,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序等。

    2016-04-08 12:08
    244
  • 线索化二叉树

    二叉树是一种非线性结构,遍历二叉树几乎都是通过递归或者用栈辅助实现非递归的遍历。用二叉树作为存储结构时,取到一个节点,只能获取节点的左孩子和右孩子,不能直接得到节点的任一遍历序列的前驱或者后继。 ...

    2016-04-03 16:59
    240
  • 位图的实现

    应用场景: 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数中。 思路:如果内存够的话,40亿个整型使用位图存储需要500M左右的空间。 ...

    2016-04-03 16:04
    343
  • 二叉树

    二叉树:   二叉树是一棵特殊的树,二叉树每个节点最多有两个孩子结点,分别称为左孩子和右孩子。 满二叉树:    高度为N的满二叉树有2^N - 1个节点的二叉树。 完全二叉树:   若设二叉树的深度...

    2016-03-21 08:43
    196
  • 稀疏矩阵的压缩存储与转置

    稀疏矩阵: M*N的矩阵,矩阵中有效值的个数远小于无效值的个数,且这些数据的分布没有规律。

    2016-03-22 08:36
    317
  • 广义表

    广义表是非线性的结构,是线性表的一种扩展,是有n个元素组成有限序列。 广义表的定义是递归的,因为在表的描述中又得到了表,允许表中有表。 #include using namespace s...

    2016-03-21 09:36
    220
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部