随笔分类 -  知识点讲解

字典树讲解
摘要:Trie树也叫字典树,是一种用于快速检索的多叉树结构。如英文字母的字典树是一个26叉树。数字的字典树是一个10叉树。Trie树把要查找的关键词看作一个字符序列,并根据构成关键词字符的先后顺序构造用于检索的树结构;一棵m度的Trie树或者为空,或者由m棵m度的Trie树构成。特别的:和二叉查找树不同,在Trie树中,每个结点上并非存储一个元素。在Trie树中查找一个关键字的时间和树中包含的结点数无关,而取决于组成关键字的字符数。特点:①利用串的公共前缀->节约内存。②根结点(root)不包含任何字母。③其余结点仅包含一个字母(非元素)。④每个结点的子结点包含字母不同。查找过程:①在Trie 阅读全文
posted @ 2013-07-22 19:23 lk1993 阅读(238) 评论(0) 推荐(0)
斯特灵公式
摘要:斯特灵公式斯特灵公式是一条用来取n阶乘近似值的数学公式。一般来说,当n很大的时候,n阶乘的计算量十分大,所以斯特灵公式十分好用,而且,即使在n很小的时候,斯特灵公式的取值已经十分准确。公式为:这就是说,对于足够大的整数n,这两个数互为近似值。更加精确地:或者:求N!的位数:=log10(N!)+1 = 0.5*log10(2*PI*n)+n*log10(n/e); 阅读全文
posted @ 2013-07-16 16:51 lk1993 阅读(373) 评论(0) 推荐(0)
七种 qsort 排序方法
摘要:七种 qsort排序方法 一、对 int 类型数组排序int num[100];Sample:int cmp ( const void *a , const void *b ){ return *(int *)a - *(int *)b;}qsort(num,100,sizeof(num[0]),cmp);二、对 char 类型数组排序(同 int 类型)char word[100];Sample:int cmp( const void *a , const void *b ){ return *(char *)a - *(char *)b;}qsort(word,100,sizeof(w.. 阅读全文
posted @ 2013-07-16 16:45 lk1993 阅读(237) 评论(0) 推荐(0)
sort 函数用法简介
摘要:STL中 sort函数用法简介 sort 函数,可以直接对数组排序,复杂度为 n*log2(n)。使用这个函数,需要包含头文件 #include 。这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址,排序的区间是[a,b)。例:对数组 t 的第 0 到 len-1 的元素排序,就写 sort(t,t+len)。对向量 v 排序也差不多, sort(v.begin(),v.end());排序的数据类型不局限于整数,只要是定义了小于运算的类型都可以,比如字符串类 string 。如果是没有定义小于运算的数据类型,或者想改变排序的顺序,就要用到第三参数 阅读全文
posted @ 2013-07-16 16:44 lk1993 阅读(3859) 评论(0) 推荐(0)
STL map 使用方法(转)
摘要:源地址:http://www.kuqin.com/cpluspluslib/20071231/3265.htmlMap是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处。下面举例说明什么是一对一的数据映射。比如一个班级中,每个学生的学号跟他的姓名就 阅读全文
posted @ 2013-05-24 21:21 lk1993 阅读(146) 评论(0) 推荐(0)