
数据结构与算法&&设计模式
文章平均质量分 90
风吹过的时光
别问我是谁,我只是个过客。
展开
-
树、森林与二叉树的转换
天气太热,只能蜗在宿舍。在收拾邮箱的时候无意间看到了数据结构Z老师发的09年研究生入学计算机统考真题,虽然只学了四科考试课中的两门,还是点开了PDF。(插一句,用Adobe Acrobat 7.0 Professional软件可以实现.pdf和.doc的相互转化)由此题涉及到了树、森林与二叉树的转换关系。我数据结构学的不是很好,于是在GFW允许范围内search一番,发现诸位仁兄大都有才干,于转载 2013-11-07 10:18:54 · 3609 阅读 · 0 评论 -
观察者模式及c++实现 .
转自:http://blog.youkuaiyun.com/mafuli007/article/details/7239709观察者模式概念:定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。“Define a one-to-many dependency between objects so that when one object changes转载 2013-10-29 22:59:58 · 981 阅读 · 0 评论 -
一致性 hash 算法( consistent hashing )
一致性 hash 算法( consistent hashing ) 张亮 consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees中被提出,目前在 cache 系统中应用越来越广泛; 1 基本场景比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映转载 2014-05-11 11:31:06 · 1180 阅读 · 0 评论 -
Hash算法冲突解决方法分析
看了ConcurrentHashMap的实现, 使用的是拉链法.虽然我们不希望发生冲突,但实际上发生冲突的可能性仍是存在的。当关键字值域远大于哈希表的长度,而且事先并不知道关键字的具体取值时。冲突就难免会发 生。另外,当关键字的实际取值大于哈希表的长度时,而且表中已装满了记录,如果插入一个新记录,不仅发生冲突,而且还会发生溢出。因此,处理冲突和溢出是 哈希技术中的两个重要问题。1、开放转载 2014-05-11 17:43:40 · 2832 阅读 · 0 评论 -
字符串哈希到整数函数,算法
基本概念所谓完美哈希函数,就是指没有冲突的哈希函数,即对任意的 key1 != key2 有h(key1) != h(key2)。设定义域为X,值域为Y, n=|X|,m=|Y|,那么肯定有m>=n,如果对于不同的key1,key2属于X,有h(key1)!=h(key2),那么称h为完美哈希函数,当m=n时,h称为最小完美哈希函数(这个时候就是一一映射了)。在处理大规模字符串数据时,转载 2014-05-11 16:43:54 · 27171 阅读 · 0 评论 -
编程实现哈希存储算法的简单实例
编程实现哈希存储算法的简单实现实例。通过编写一个简单的哈希实例来加强对哈希算法的理解。下面实例包括存储与查找算法。拉链法解决冲突问题。如果时间长了对哈希算法的理论知识不够了解,可以先阅读前面转载的两篇文档:字符串哈希到整数函数,算法:http://blog.youkuaiyun.com/hzhsan/article/details/25552153Hash算法冲突解决方法分析:http原创 2014-05-11 23:30:38 · 5149 阅读 · 3 评论 -
递归与尾递归总结
前言:今天上网看帖子的时候,看到关于尾递归的应用(http://bbs.youkuaiyun.com/topics/390215312),大脑中感觉这个词好像在哪里见过,但是又想不起来具体是怎么回事。如是乎,在网上搜了一下,顿时豁然开朗,知道尾递归是怎么回事了。下面就递归与尾递归进行总结,以方便日后在工作中使用。1、递归 关于递归的概念,我们都不陌生。简单的来说递归就是一个函数直接或间接地调转载 2015-12-30 09:17:06 · 1854 阅读 · 0 评论 -
单链表反转的三种方法
1. 从前遍历到尾,依次反转指针的指向,原来的头指针的下一结点设置为空,原来的尾结点变成头结点返回。2. 设置一个新的空链表,然后每次从原来的链表中取出最前面的元素,插入到这个新的链表之中,直到最后一个元素。3. 采用递归。原创 2016-06-19 16:00:01 · 3142 阅读 · 0 评论