
数据结构与算法
cyxHehui
这个作者很懒,什么都没留下…
展开
-
二叉树的C++实现
关于二叉树的实现直接贴代码吧: // BinaryTree_Class.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "stdafx.h" #include #include #include using namespace std; template struct _BinNode { T data; struct _B原创 2013-11-25 19:36:57 · 762 阅读 · 0 评论 -
Hash结构详解
1、什么是Hash Hash,即”散列“,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换也是一种压缩映射,也就是散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,因此不可能从散列值来唯一确定输入值。简单地说就是将一种任意长度的消息压缩成某一固定长度的消息摘要的函数。 HASH主要用于信息安全领域中加密算法,它把一原创 2014-02-20 11:00:06 · 15470 阅读 · 4 评论 -
二叉树相关算法总结
一、二叉树的遍历-前序、中序、后序以及层次遍历(递归与非递归) 参考另外一篇笔记《二叉树的遍历-递归与非递归 -海子 - 博客园》。 二、重建二叉树,依据前序遍历结果和中序遍历结果 《剑指Offer》面试题6. 前、中; 后,中-----》均可以重建二叉树,但是前、后则不行,给出“前、后”序列只能判断父子关系,而不能区分左子树和右子树。 思想:递归 代码: // 《剑转载 2014-02-13 19:31:13 · 1743 阅读 · 0 评论 -
一致性哈希算法
tencent2012笔试题附加题 问题描述: 例如手机朋友网有n个服务器,为了方便用户的访问会在服务器上缓存数据,因此用户每次访问的时候最好能保持同一台服务器。 已有的做法是根据ServerIPIndex[QQNUM%n]得到请求的服务器,这种方法很方便将用户分到不同的服务器上去。但是如果一台服务器死掉了,那么n就变为了n-1,那么ServerIPIndex[QQNUM%转载 2014-02-22 22:18:54 · 749 阅读 · 0 评论 -
NYOJ 163 Phone List
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=163 如:给出三组phone numbers, Emergency 911Alice 97 625 999Bob 91 12 54 26 判断较短的phone number是否是这组numbers中的一条或多条的前缀。也是判断一组字符串中,是否存在某一字符串是其它字符串的前缀。这里较原创 2014-02-21 11:27:00 · 675 阅读 · 0 评论 -
字典树详解----串查找、排序、公共前缀之杀手锏
1、字典树 又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变形。典型应用是用于统计,排序和保存大量的字符串,所以经常被搜索引擎系统用于文本词频统计。它的优点是利用最大公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。 2、性质 根节点不包含字符,除根节点以外的每原创 2014-02-21 11:15:57 · 6787 阅读 · 0 评论 -
海量数据处理----Bit map算法详解
1. Bit Map算法简介 来自于《编程珠玑》。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。 2、 Bit Map的基本思想 我们先来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5,3)排序转载 2013-12-02 20:26:02 · 878 阅读 · 0 评论 -
海量数据处理------Bloom filter
1. Bloom-Filter算法简介 Bloom-Filter,即布隆过滤器,1970年由Bloom中提出。它可以用于检索一个元素是否在一个集合中。 Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。它是一个判断元素是否存在集合的快速的概率算法。Bloom Filt转载 2013-12-02 20:38:44 · 1129 阅读 · 0 评论 -
B树的原理分析及实现
B树是为磁盘或其他直接存取的辅助设备而设计的一种平衡搜索树。许多数据库系统使用B树或B树的变种来存储信息。为何会采用这种树结构进行设计呢,《算法导论》18章讲得很到位,值得细细品味。 下面直接开始了解B树的实现细节吧! 一、B树的定义 它与二叉搜索树和红黑树一样,把卫星数据和关键字都存放在同一个结点中。 1、每个结点的属性: (1)x.n: 每个结原创 2013-11-26 22:11:04 · 9927 阅读 · 4 评论 -
红黑树的解析与实现
红黑树 上一篇中讲到,一棵高度为h的二叉搜索树,它所进行的操作都可以在O(h)时间内完成。因此搜索树的高度较低时,可以较快的完成。但是,如果树的高度较高时,这些集合操作可能并不比链表上快。如何实现一种搜索树的结构,使得其任何一种基本操作都可以在O(lgn)的时间内完成呢? 红黑树,就是这种“平衡”搜索树中的一种。可以保证最坏的情况下,基于动态集合操作的时间复杂度为O(lgn)。原创 2013-11-26 19:22:32 · 739 阅读 · 1 评论 -
二叉查找树的原理与实现
二叉查找树,又名二叉搜索树,主要性质:左孩子 二叉查找树上的基本操作包括:search, minimum, maximum, predecessor, successor, insert, delete. 而这些操作基本所花费的时与这棵树的高度成正比。对于一棵完全树来说,这些操作的最坏运行时间为:O(lgn),而对于n个结点连成一条线的树来说,则为O(n)。那如何才能保证所有的基本操作复杂度控原创 2013-11-26 09:59:31 · 1078 阅读 · 0 评论 -
NYOJ 138 找球号
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=138 题目描述: 描述 在某一国度里流行着一种游戏。游戏规则为:现有一堆球中,每个球上都有一个整数编号i(0<=i<=100000000),编号可重复,还有一个空箱子,现在有两种动作:一种是"ADD",表示向空箱子里放m(0<m<=100)个球,另一种是"QUERY”,表示说出原创 2014-02-20 11:27:24 · 960 阅读 · 1 评论