
面试专题——高级数据结构
文章平均质量分 83
huangxy10
这个作者很懒,什么都没留下…
展开
-
数据结构——并查集
特点:实现简单,效率较高。功能:1,集合的快速合并;2,快速查找某元素所在集合。优化:1,合并优化;2,路径压缩。效率:◆按秩合并:时间:O(m*lg(n))◆路径压缩:最坏: O(n+lg(n))◆按秩合并和路径压缩:O(mα(n)) 经过启发式合并和路径压缩之后的并查集,执行m次查找的复杂度为O(mα(n))l其中α(n)是Ackermann函数的某个反函数,增长速度及其缓慢。α(n)n为原创 2012-09-05 15:12:39 · 1227 阅读 · 0 评论 -
求二叉树中距离最远的两个叶子节点的距离
问题:给定一棵二叉树(非二叉检索树),求二叉树中距离最远的两个叶子节点间的距离?其中两个叶子间的距离定义为:F(X,Y) = 从节点X到根节点路径上所有节点数据之和 + 从节点Y到根节点路径上所有节点数据之和 - 从X和Y的第一个祖先节点到根节点路径上所有节点数据之和。思路:1,后序遍历每一节点,找出该节点到最右边的距离以及最左边的距离;2,找到之和最大的即可。原创 2012-09-05 18:21:49 · 4030 阅读 · 1 评论 -
hdu 2846 【字典树】单词子串的匹配数
http://acm.hdu.edu.cn/showproblem.php?pid=2846* 求前缀所能匹配的单词的个数,可以是匹配单词的任意子串* abcd 和这个串匹配的可以是 a,b,c,d,ab,cd,bcd。。。* 所以可以将一个串拆成多个串的分割进行插入:abcd,bcd,cd,d* 由于abab,和其子串ab会产生重复的计数,所以应该做标记,**/#include#转载 2012-09-29 22:10:12 · 1185 阅读 · 0 评论 -
并查集概念及其实现
1、 概述并查集(Disjoint set或者Union-find set)是一种树型的数据结构,常用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。2、 基本操作并查集是一种非常简单的数据结构,它主要涉及两个基本操作,分别为:A. 合并两个不相交集合B. 判断两个元素是否属于同一个集合(1) 合并两个不相交集合(转载 2012-10-18 23:18:20 · 1176 阅读 · 0 评论 -
Trie树——字典树
1、 概述Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树。Trie一词来自retrieve,发音为/tri:/ “tree”,也有人读为/traɪ/ “try”。Trie树可以利用字符串的公共前缀来节约存储空间。如下图所示,该trie树用10个节点保存了6个字符串tea,ten,to转载 2012-10-18 23:21:57 · 1441 阅读 · 0 评论