自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

转载 查找(1)--静态查找

作者:fan_rockrock链接:http://blog.csdn.net/wust__wangfan/article/details/19563433查找分为两种:            静态查找: 只查找,不改变数据元素集内的数据元素;            动态查找:既查找,又改变(增减)集合内的数据元素。静态查找又分为三种:顺序查找,折半查找,索引

2017-05-31 21:47:35 608

转载 跳表(skiplist)的代码实现

作者:刘浩de技术博客链接:http://www.cnblogs.com/liuhao/archive/2012/07/26/2610218.html跳表(skiplist)是一个非常优秀的数据结构,实现简单,插入、删除、查找的复杂度均为O(logN)。LevelDB的核心数据结构是用跳表实现的,redis的sorted set数据结构也是有跳表实现的。其结构如下所示:

2017-05-29 08:40:07 370

原创 哈希表

哈希表的结构是这样的//HashTable.h#ifndef _HASHTABLE_H_#define _HASHTABLE_H_#include <stdlib.h>#include <stdbool.h>#define BUCKET_SIZE 5 //基桶与溢出桶大小,此处的值表示可容纳5个元素#define HASHTABLE_SIZE 17 //哈希表中基桶个数,为了使得出的哈希因子在所有可得的值中得出任一值的概率相同,所以使用素数作为基桶个数#define

2017-05-26 22:46:19 445

转载 二叉查找树、平衡二叉树、红黑树、B-/B+树性能对比

作者:奔跑的小河连接:http://blog.csdn.net/z702143700/article/details/49079107前言:BST、AVL、RBT、B-tree都是动态结构,查找时间基本都在O(longN)数量级上。下面做出详细对比。1. 二叉查找树 (Binary Search Tree)BST 的操作代价分析:(1) 查找代价:

2017-05-25 00:05:21 571

原创 红黑二叉查找树的插入

无奈,书上所说的删除还没能领悟,以后补上吧//RBTree.h#ifndef _RBTREE_H_#define _RBTREE_H_#include typedef int Element;typedef enum{ RED, BLACK}Color;typedef struct _RBT_Node_{ Color NodeColor; Element da

2017-05-24 22:36:23 282

原创 红黑二叉查找树

截取自算法(第四版)替换3-节点:红黑二叉查找树背后的基本思想是用标准二叉查找树(完全由2-节点构成)和一些额外的信息(替换3-节点)来表示2-3树。红黑树中的链接分为两种:1、 将两个2-节点连接起来构成3-节点的红链接2、 2-3树中的普通链接为黑链接将两个-2节点用左斜的红色链接链起来可表示3-节点 一种等价的定义: 一一对应1、 如果将一颗红黑树

2017-05-22 23:52:36 499

原创 2-3查找树的插入与删除

本片博客前面部分截取自算法(第4版)定义: 查找:要判断一个键是否存在树中,先将它和根节点中的键比较,如果它和其中任意一个相等,查找命中;否则就根据比较的结果找到指向相应区间的连接,并在其指向的子树中递归地继续查找,如果找到了空连接上,查找未命中。插入:插入之前,先要对2-3树进行一次未命中的查找:1、  向2-节点中插入新键如果未命中查找结束于一个

2017-05-21 22:14:18 7082

转载 2-3查找树

转自:http://blog.csdn.net/hk2291976/article/details/51496616作者:Vosky2-3树介绍我们上回说到二叉查找树已经很接近我们的目标了,在很多情况下性能都很不错,但是唯独在删除上不行,一旦删除操作做多了就会失去平衡,那么,这回,我们来说说如何做一个平衡查找树,首先介绍一下2-3查找树2-3树是一种特殊

2017-05-21 16:12:42 400

原创 AVL树的插入与删除

本来之前已经发了AVL树的插入,结果续写AVL树的删除时发现之前写的AVL插入有bug,于是乎将其删除了。折腾了一周多,终于将AVL树搞定了。。。不容易啊//AVLTree.h#ifndef _AVLTREE_H_#define _AVLTREE_H_#include typedef int Element;typedef struct _AVLTreeNode{ El

2017-05-18 23:08:05 366

原创 AVL树删除

AVL Tree与BST由于AVL树本身就是一颗自平衡的BST,因此其的删除比起BST仅仅多了删除后平衡的调整 查找:AVL树中一定不存在两个值大小相同的节点从AVL树根开始向下搜索,根据意图删除值与当前节点值大小关系进行下一步操作:1、  当前节点值大于意图删除值,保存当前节点并在当前节点的左子树中继续查找意图删除值2、  当前节点值小于意图删除值,保存当前节点并在当

2017-05-16 00:39:22 3548 1

原创 AVL旋转图解

单旋转 (即最小不平衡子树与其子树的平衡因子同号) (此处仅拿需要右旋转的不平衡树来说)情况1:最小不平衡子树树根只有一个孩子节点                   最小不平衡子树                                                                      旋转后(注:红色的X代表该节点为空

2017-05-05 08:17:10 604

原创 AVL Tree概念之旋转

在探寻AVL Tree旋转这一概念之前,需要弄清楚的一些概念:    1、二叉搜索树(BinarySearch Tree):若树的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉搜索树(Reference to二叉搜索树)        2、An AVL treeis a self-ba

2017-05-01 23:56:19 3589

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除