随笔分类 -  我的算法学习之路

摘要:具体介绍看链接: http://www.linuxidc.com/Linux/2011-08/40792.htm使用Eclipse编辑文件经常出现中文乱码或者文件中有中文不能保存的问题,Eclipse提供了灵活的设置文件编码格式的选项,我们可以通过设置编码 格式解决乱码问题。在Eclipse可以从几个层面设置编码格式:Workspace、Project、Content Type、File 本文以Eclipse 3.3(英文)为例加以说明: 1. 设置Workspace的编码格式: Windows->Preferences... 打开"首选项"窗口,点击左侧导航树到Ge 阅读全文
posted @ 2013-05-19 16:39 Jack Ge 阅读(4043) 评论(0) 推荐(1) 编辑
摘要:转自(http://coolshell.cn/articles/4990.html)月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把他的一些学习Python和Web编程的一些点滴总结一下。于是他给我发来了一些他的心得和经历,我在把他的心得做了不多的增改,并根据我的经历增加了“进阶”一节。这是一篇由新手和我这个老家伙根据我们的经历完成的文章。 阅读全文
posted @ 2013-05-14 14:25 Jack Ge 阅读(325) 评论(0) 推荐(1) 编辑
摘要:离散化是程序设计中一个非常常用的技巧,它可以有效的降低时间复杂度。其基本思想就是在众多可能的情况中“只考虑我需要用的值”。下面我将用三个例子说明,如何运用离散化改进一个低效的,甚至根本不可能实现的算法。《算法艺术与信息学竞赛》中的计算几何部分,黄亮举了一个经典的例子,我认为很适合用来介绍离散化思想。这个问题是UVA10173(http://acm.uva.es/p/v101/10173.html),题目意思很简单,给定平面上n个点的坐标,求能够覆盖所有这些点的最小矩形面积。这个问题难就难在,这个矩形可以倾斜放置(边不必平行于坐标轴)。这里的倾斜放置很不好处理,因为我们不知道这个矩形最终会倾斜多 阅读全文
posted @ 2013-04-25 09:32 Jack Ge 阅读(376) 评论(0) 推荐(0) 编辑
摘要:哈夫曼编码简介(转)2010年03月17日|本网站遵守CC版权协议转载请注明出自www.thecodeway.com哈弗曼编码几乎是所有压缩算法的基础,其实这个算法并不复杂,简单的理解就是,如何用更短的bit来编码数据。 我们知道普通的编码都是定长的,比如常用的ASCII编码,每个字符都是8个bit:字符编码A00101001B00101010C00101011……这样,计算机就能很方便的把由0和1组成的数据流解析成原始信息,但我们知道,在很多情况下,数据文件中的字符出现的概率是不均匀的,比如在一篇英语文章中,字母“E”出现的频率最高,“Z”最低,如果我们使用不定长的bit编码,频率高的字母用 阅读全文
posted @ 2013-04-09 15:41 Jack Ge 阅读(925) 评论(0) 推荐(0) 编辑
摘要:在KMP算法的使用中,首要任务就是获取一个字符串的next数组,所以我们得明白next数组的含义(最好的方法是自己弄个例子,在草稿纸上模拟一下),在这里,通俗一点讲,next[k] 表示,在模式串的 k 个字符失配了,然后下一次匹配从 next[k] 开始(next[k] 中保存的是该失配字符的前一个字符在前面出现过的最近一次失配的字符后面的一个字符的位置,有点绕口,自己写个例子看看就明白了,也可以继续往下看,有介绍,然后再自己尝试写写 )。至于next数组为什么可以用来求重复前缀呢,而且求出来的重复前缀是最小的呢?next数组的求法:void getnext(int len){ ... 阅读全文
posted @ 2013-01-05 15:22 Jack Ge 阅读(6753) 评论(0) 推荐(7) 编辑
摘要:函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置举例如下:一个数组number序列为:4,10,11,30,69,70,96,100.设要插入数字3,9,111.pos为要插入的位置的下标则pos = lower_bound( number, number + 8, 3) - number,pos = 0.即number数组的下标为0的位置。pos = lower_bound( number, number + 8, 9) - number, pos = 1,即number数组 阅读全文
posted @ 2013-01-03 14:24 Jack Ge 阅读(551) 评论(0) 推荐(0) 编辑
摘要:1、cin 1、cin.get() 2、cin.getline() 3、getline() 4、gets() 5、getchar()1、cin>> 用法1:最基本,也是最常用的用法,输入一个数字:#include <iostream> using namespace std; main () { int a,b; cin>>a>>b; cout<<a+b<<endl; }输入:2[回车]3[回车] 输出:5用法2:接受一个字符串,遇“空格”、“TAB”、“回车”都结束#include <iostream> us 阅读全文
posted @ 2012-12-30 16:47 Jack Ge 阅读(306) 评论(0) 推荐(0) 编辑
摘要:六种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(w.. 阅读全文
posted @ 2012-12-29 10:28 Jack Ge 阅读(251) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示