自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用于不相交集合的数据操作——并查集

假定有一组词汇,构成一个集合

2014-06-28 22:38:56 739

原创 2014-6-27任务完成情况

(1)继续完成昨天的撤

2014-06-27 22:26:47 447

原创 2014-6-26任务完成情况

(1)用另一种方法完成

2014-06-27 22:24:36 494

原创 2014-6-25任务完成情况

(1)继续阅读C++ Primer。

2014-06-27 22:22:06 436

原创 利用Trie树求多个字符串编辑距离的进一步优化

1.引言        题目的意思应该是:在一个给定的字典中,求与给定的字符串的编辑距离不大于2的所有的单词。原先写过两片关于此问题的文章,那两片篇章文章给出两种解决思路:其一是暴力求解法,这种方法最容易想到。就是将词典中的词一一与给定的字符串计算编辑距离,不大于2的输出,大于2的舍弃,这种方法思路简单但是很费时间。其二根据词典中这些词之间的编辑距离建立一个以单词为节点的Trie树,遍历的

2014-06-27 22:14:37 1966

原创 2014-6-24任务完成情况

对Trie树求多个字符串的编辑距离算法做了空间优化

2014-06-24 17:21:58 467

原创 构造指定长度的英文词典

说明:构造变长度的英语单词词典单词随机产生,长度在

2014-06-24 17:11:49 704

原创 Trie树求多个字符串最短编辑距离的空间优化

1.前言       为了充分利用CPU的高速缓存机制,

2014-06-24 17:05:38 1671

原创 利用Trie树求多个字符串的最小编辑距离

1.编辑距离、拼写检查与度量空间:一个有趣的数据结构        本小节内容转自:转自http://www.matrix67.com/blog/archives/333 Matrix67原创        除了字符串匹配、查找回文串、查找重复子串等经典问题以外,日常生活中我们还会遇到其它一些怪异的字符串问题。比如,有时我们需要知道给定的两个字符串 “有多像”,换句话说两个字符串的

2014-06-24 16:48:30 4679

原创 2014-6-23任务完成情况

(1)建立10万次的词典,单词长度5-30

2014-06-23 09:55:31 525

原创 2014-6-20任务完成情况

暂无

2014-06-20 23:46:29 509

原创 Trie树实现多模匹配算法的进一步优化

之前写过一篇关于Trie树实现多模匹配算法的文章

2014-06-20 23:45:53 2139

原创 基于Trie树的多模匹配算法实现和及优化

1.多模匹配算法简介    多模式匹配在这里指的是在"一个字符串"中寻找"多个模式字符字串"的问题。一般来说,给出一个长字串和很多短模式字符串,如何最快最省的求出哪些模式字符串出现在长字串中是我们需要思考的(因为基本上大多数情况下是在给定的长字串中出现我们给的模式字串的其中几个)该算法的应用领域有很多,例如:    (1)关键字过滤    (2)入侵检测    (3)病毒检

2014-06-20 20:47:48 8214

转载 一些代码优化的方法

用谈到优化,很多人都会直接想到汇编。难道优化只能在汇编层次吗?当然不是,C++层次一样可以作代码优化,其中有些常常是意想不到的。在C++层次进行优化,比在汇编层次优化具有更好的移植性,应该是优化中的首选做法。1 确定浮点型变量和表达式是 float 型为了让编译器产生更好的代码(比如说产生3DNow! 或SSE指令的代码),必须确定浮点型变量和表达式是 float 型的。要

2014-06-20 09:55:28 680

原创 2014-6-19任务完成情况

暂无

2014-06-19 23:35:45 495

原创 2014-6-18任务完成情况

暂无

2014-06-18 23:53:44 425

原创 2014-6-17任务完成情况

暂无

2014-06-17 22:33:09 425

原创 用二叉树实现Trie树

关于Trie树的简介,有点这里就不再罗嗦了,清

2014-06-16 23:48:47 1362

转载 Linux 环境下段错误的产生原因及调试方法小结

原文地址:http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多、花费时间最长的问题就是著名的“段错误”(Segmentation Fault)。借此机会系统学习了一下,这里对Linux环

2014-06-16 16:47:16 672

原创 2014-6-16任务完成情况

(1)改造为二叉树;(2)将10w词典拼接,查找每个词在拼接字符串中出现的次数;(3)用kmp的思想对2做改进

2014-06-16 10:03:58 458

原创 2014-6-13任务完成情况

1.优化词典查询的算法        使用Trie树重新写了算法,时间小

2014-06-13 19:43:02 442

原创 Trie树实现词典查找算法

1.Trie树简介Trie树又称单词查找树,是一是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。

2014-06-13 19:35:47 1939

转载 Python的函数参数传递:传值?引用?

原文地址:http://blog.csdn.net/winterttr/article/details/2590741          我想,这个标题或许是很多初学者的问题。尤其是像我这样的对C/C++比较熟悉,刚刚进入python殿堂的朋友们。C/C++的函数参数的传递方式根深蒂固的影响这我们的思维--引用?传值?究竟是那种呢。 呵呵,语言的特性决定了是使用的方法,那么,现在我们来探究

2014-06-12 22:23:50 590

原创 词典查找算法

这个程序的功能过呢

2014-06-12 19:19:16 3522

转载 C函数调用过程

这几天在看GCC Inline Assembly,在C代码中通过asm或__asm__嵌入一些汇编代码,如进行系统调用,使用寄存器以提高性能能,需要对函数调用过程中的堆栈帧(Stack Frame)、CPU寄存器、GCC inlie assembly等了如指掌。现在看看函数调用过程吧。1. Linux 进程虚拟地址空间以32位操作系统为例,下面是Linux进程地址空间布局:

2014-06-12 18:46:05 618

转载 C++文件读写总结

在C++中如何实现文件的读写?作者: infobillows   发表日期: 2007-04-03 21:33  点击数: 465一、ASCII 输出为了使用下面的方法, 你必须包含头文件(译者注:在标准C++中,已经使用取代,所有的C++标准头文件都是无后缀的。)。这是 的一个扩展集, 提供有缓冲的文件输入输出操作. 事实上, 已经被包含了, 所以你不必包含所有这两个文件,

2014-06-12 11:13:41 634

原创 2014-6-12任务完成情况

(1)继续搞清楚,在函数调用时,c++与python各自做了什么?(2)搞清楚为什么传值与传引用的递归深度是一致的;(3)随机生成一个词典,10w左右的词,每个词是10~30的英文字母串,实现词典查找算法,即给定任意一个字符串,去看在词典中是否存在

2014-06-12 09:38:28 457

转载 Segmentation fault 问题浅谈

今天调试程序时遇到了一个问题,当我用GDB调试程序时出现了Segmentation fault,以前没有遇到过,最后查看资料,有点明白了。    出现了Segmentation fault,基本上的原因是,非法的内存访问。例如数组的越界,在循环操作时循环变量的控制问题,也有字符串拷贝时长度溢出,指针指向了非法的空间,还有就是申明一个指针,但却没有对其初始化,就直接引用,或者没有开辟内存空间

2014-06-11 23:56:06 855

原创 不同的参数传递方式对递归函数递归深度的影响

传值版与传引用版的递归函数,观察递归深度

2014-06-11 18:02:57 3073

原创 2014-6-11任务完成情况

(1)实现传值版与传引用版的递归函数,观察递归深度;(2)将find函数改造为python版;(3)c++ primer阅读一章

2014-06-11 17:21:37 452

转载 C++ 堆和栈的比较

基础知识: 堆 栈是一种简单的数据结构,是一种只允许在其一端进行插入或删除的线性表。允许插入或删除操作的一端称为栈顶,另一端称为栈底,对堆栈的插入和删除操作被称 为入栈和出栈。有一组CPU指令可以实现对进程的内存实现堆栈访问。其中,POP指令实现出栈操作,PUSH指令实现入栈操作。CPU的ESP寄存器(堆 栈指针,Stack Pointer)存放当前线程的栈顶指针,EBP寄存器(基址指针,Ba

2014-06-11 17:19:13 573

原创 KMP算法(Python实现)

BF算法的时间复杂度:在最坏的情况下,BF算法要将目标串的每一个字符同模式串进行比较一遍,假定目标串长度为m,模式串长度为n,总的时间复杂度为O(m*n)。而对于KMP算法,进行比较的时间复杂度为O(m+n),求next数组的时间复杂度为n,总体时间复杂度为O(m+2n)。

2014-06-11 16:33:15 7543 2

原创 求两个字符串最长公共子序列的算法优化(C++实现)

前几天写的的一篇文章

2014-06-10 22:47:48 5422

原创 Python实现求两个字符串的最短编辑距离

前几天用C++实现了秋来你哥哥

2014-06-10 21:31:00 2865 1

原创 2014-6-10任务完成情况

1.将最短编辑距离算法用跑一趟和

2014-06-10 20:55:49 543

原创 Python实现求两个字符串的最长公共子序列的算法

前几天用C++实现了求两个字符串的最长公共子序列的算法

2014-06-09 17:53:58 4118 1

原创 2014-6-9任务完成情况

(1)继续读C++ Primer(2)将求字符串的最小

2014-06-09 17:26:09 540

原创 2014-6-6任务完成情况

(1)实现字符串的find函数;(2)研究动态规划的证明方法(可以前面几天的问题做实例);(3)c++ primer,继续向前读

2014-06-06 20:21:52 463

原创 KMP算法浅析

1.BF算法        BF算法是普通的模式匹配算法,BF算法的思想就是将目标串s的第一个字符与模式串t的第一个字符进行匹配,若想等,则比较s的第二个字符和t的第二个字符;若不想等,则比较s的第二个字符和t的第一个字符。如此一直比较下去,直到得出最后的匹配结果。  在比较过程中每次匹配失败都要将标记s串当前比较位置的指针i回溯到最初开始比较的位置,然后后移一位,而目标串则要第一个字符开

2014-06-06 16:01:10 1151

原创 2014-6-5任务完成情况

1.理解最小编辑距离的概念;

2014-06-05 18:37:32 429

空空如也

空空如也

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

TA关注的人

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