数据结构与算法
文章平均质量分 56
沈鸿斌
爱生活,爱Coding
展开
-
[数据结构复习]八大内排序算法总结
======来自N多资料,主要参考http://blog.csdn.net/hguisu/article/details/7776068 以及 http://blog.csdn.net/onedreamer/article/details/6745006 ===============一、稳定性和时间复杂度总结 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或原创 2015-04-11 10:18:53 · 4059 阅读 · 0 评论 -
[数据结构复习]树_二叉搜索树&AVL树
一、二叉搜索树1.性质 每个结点都有一个作为搜索一句的关键码,所有结点关键码不同; 左子树的所有结点的关键码都小于根结点的关键码。 右子树的所有结点的关键码都大于根结点的关键码。 左子树右子树也是二叉搜索树。2.二叉搜索树的搜索 用递归。3.二叉搜索树的插入 每次插入都要从根结点出发搜索插入位置,然后把新结点作为叶结点插入原创 2015-03-23 09:33:19 · 632 阅读 · 0 评论 -
[数据结构复习]树_二叉树
一、二叉树1.二叉树的一些性质: 对于一棵非空二叉树,如果其叶节点数为n0,度为2的非叶节点数为n2,则n0=n2+1。 证明可以从边数的不同表示方法着手。 具有N个结点的完全二叉树的深度为log2(n+1)取上整。2.满二叉树和完全二叉树 满二叉树的每一层节点都到达了最大个数,完全二叉树是从第一层到K-1层都是满的,最下面第K层或是满的,或原创 2015-03-21 09:57:44 · 1021 阅读 · 0 评论 -
[数据结构复习]广义表
1.形式 类似于 A(B,C(D,E),F)2.广义表的存储 链表。每个节点的结构为: type: 0表示附加头节点,1表示原子节点,2表示子表节点 data: type=0时存放引用计数,1时存放data,2时存放指向子表表头的指针。 link: type=0时存放指向该表表头元素节点的指针, !=0时存放指向同一层下一个表结原创 2015-03-22 21:34:34 · 737 阅读 · 0 评论 -
[数据结构复习]并查集
一、并查集1.并查集的适用情况: 在一些应用中,需要把N个元素划分成一组不相交的集合。开始时,每个元素自称一个单元素集合,然后按一定规律把归于同一组元素的集合合并。在此过程中,要反复用到查询某个元素归属于哪个集合的运算。2.并查集的定义、实现 操作: Union,Find, UFSets 这个操作是把S个元素初始化为s个只有一个单元素的子原创 2015-03-22 21:46:08 · 541 阅读 · 0 评论 -
[数据结构复习]稀疏矩阵
1.对于对称矩阵、上三角矩阵、下三角矩阵、带状矩阵等矩阵,可以用一维数组来存储有值的部分,分为行优先和列优先。2.稀疏矩阵的表示 1) 三元组表示 template class struct Trituple{ int row,col; T value; }原创 2015-03-22 10:09:08 · 1276 阅读 · 1 评论 -
[数据结构复习]B树B+树
转载之处未注明转载来源,所以没法贴上原文地址。。=================分割线========================B树具体讲解之前,有一点,再次强调下:B-树,即为B树。因为B树的原英文名称为B-tree,而国内很多人喜欢把B-tree译作B-树,其实,这是个非常不好的直译,很容易让人产生误解。如人们可能会以为B-树是一种树,而B树又是一种转载 2015-03-24 15:41:55 · 685 阅读 · 0 评论 -
大数据学习之BigData常用算法和数据结构
1.Bloom Filter由一个很长的二进制向量和一系列hash函数组成优点:可以减少IO操作,省空间缺点:不支持删除,有误判如果要支持删除操作: 改成计数布隆过滤器2.SkipList(跳表)核心思路: 由多层组成,每层都是一个有序链表,最底层包含所有元素,元素数逐层递减。每个节点包含两个指针,一个->,一个向下。并行编程情况下可以用原创 2015-08-10 14:18:57 · 6800 阅读 · 2 评论 -
[数据结构复习]图
1.图的表示1)邻接矩阵 对于普通图,0 /1 对于网络(或带权图),邻接矩阵的值 0/N2)邻接表 如果点多边少,用邻接矩阵很浪费存储空间,这时候用邻接表。 用邻接表的话,如果想得到顶点的入度,必须检测其他所有顶点对应的边链表,这时候可以建立逆邻接表。 3.邻接多重表邻接多重表在要求每条边处理一次的实际应用中特别有用。原创 2015-03-25 16:18:38 · 772 阅读 · 0 评论 -
《设计数据密集型应用/DDIA》精要翻译(三) :数据的存储和获取之底层数据结构
看了这三章,我最大的收货并不是说学到了什么新的知识,而是对以前通过各种渠道所掌握的知识重新进行了梳理和归纳,使它们有种脉络相通的感觉。一、驱动你的数据库的数据结构这也许是世界上最简单的数据库实现:db_set () { echo "$1,$2" >> database}db_get () { grep "^$1," dat...翻译 2018-01-15 01:03:27 · 2395 阅读 · 2 评论