找到相关内容 126
算法系列总结:分而治之——分治算法
      分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。 分治法解题的一般步骤: (1)分解,将要解决的问题划分成若干规模较小的同类问题; (2)求解,当子问题划分得足够小时,用较简单的方法解决; (3)合并,按原问题的要求,将子问题的解逐层合并
http://cyqdata.cn/cnblogs/article-detail-40295 
算法学习二三事
不得不说,有时候无知是福,看到一点有趣而深刻的东东,就能感觉到神奇。越是我们熟悉的东西,往往却是我们进一步理解深刻的障碍,而之所以是障碍是我们并不知道这个是我们理解问题的障碍。困惑中的每一次豁然开朗往往是从一点一滴的我们已经成为惯性思维中开始。越是深刻的原理,往往越是简单强大。就像爱因斯坦打破牛顿给我们原有的世界观一样。对于一个打破常规,让你重新理解问题的最简单的方法就是把你整个思考的前提否定。而
http://cyqdata.cn/cnblogs/article-detail-40275 
算法系列总结:分治算法
      分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。 分治法解题的一般步骤: (1)分解,将要解决的问题划分成若干规模较小的同类问题; (2)求解,当子问题划分得足够小时,用较简单的方法解决; (3)合并,按原问题的要求,将子问题的解逐层合并
http://cyqdata.cn/cnblogs/article-detail-40241 
金融系统中PBOC/EMV的TLV的算法实现(含C++/C#)
      TLV即Tag-Length-Value,常在IC卡与POS终端设备中通过这样的一个应用通信协议进行数据交换。在金融系统以及认证中,PBOC以及EMV的认证规范文档上面也有对TLV做了一些说明,由于认证规范都是英文文档,所以有些人可能不易于理解。首先我先介绍下什么是TLV,TLV的用途是什么,以及如何实现它的打包解包算法。  
http://cyqdata.cn/cnblogs/article-detail-40052 
算法导论》学习总结 — 21.第16章 贪心算法(1) 基础入门1
建议先看看前言:http://www.wutianqi.com/?p=2298 连载总目录:http://www.wutianqi.com/?p=2403 说到贪心算法,避免不了于DP对比,所以前面的DP要了解。 贪心算法是使所做的选择看起来都是当前最佳的,期望通过所做的局部最优选择来产生一个全局最优解。 依然和上一章总结DP一样,我先给出一个最容易入门的例子,来看看神马是贪心?(是人就会贪心,这
http://cyqdata.cn/cnblogs/article-detail-39956 
浅谈代码的执行效率(1):算法是关键
前一段时间在博客园里看到这样一篇文章,那位兄弟谈到程序效率的关键是“简短”。他说,“程序越简短,其可执行代码就越少,就越有效率”,而在编写程序的时候,“要尽量改进我们的算法,而改进算法中最重要的一条,就是减少语句”。这句话从表面上似乎正确,但我认为性能这问题不能用“简短”这种方式去思考,否则会进入一些误
http://cyqdata.cn/cnblogs/article-detail-39876 
常见的算法快速分析解决(二)
题目:斐波那契数列,FIBONACCI数列特点是第1,第2两个数为1,1.从第3个数开始,该数是前两个数之和,求这个数列的前30个元素 分析: 費波那西數列(Fibonacci Sequence),又譯費波拿契數、斐波那契數列、費氏數列、黃金分割數列。在數學上,費波那西數列是以遞歸的方法來定義:F0 = 0F1 = 1Fn = Fn- 1 + Fn - 2 用文字來說,就是費波那西數列由 0 和
http://cyqdata.cn/cnblogs/article-detail-39660 
3.腾讯微博Android客户端开发——算法、编码、辅助方法编写
在腾讯微博API OAuth认证介绍中,我们可以看到关于请求签名的介绍(http://open.t.qq.com/resource.php?i=1,2#tag0):所有TOKEN请求和受保护的资源请求必须被签名,微博开放平台会根据签名来判断请求的合法性。签名算法使用Signature Base String和密钥(Secret)生成签名,参数oauth_signature用于指定签名。这几句话对o
http://cyqdata.cn/cnblogs/article-detail-39605 
基础算法系列总结:贪心算法
     前几天参加了一下ACM比赛,呵呵,权当陪太子读书了,成绩有一点点不好,不过都已经过去了。比赛可以没有,博文不能不继续,呵呵,今天我总结我最近练习的贪心算法。我写文章的顺序是先写的  动态规划 , 回溯算法 ,分支限界算法 然后再准备写写贪心算法以及基本的递归和分治算法,计算机最常用的算法就这么几种了,如果真正对算法感兴趣的话可以多研究研究
http://cyqdata.cn/cnblogs/article-detail-39449 
我也要学C语言-第十六章:返回指针值的函数与指向函数的指针以及逻辑与算法分离
今天一天没学习啦!我去医院补牙了。牙坏了,有1个洞。不过我边补牙边在听中山大学的汇编语言视频教程,虽然只能听,但是还是有点收获的。昨天的帖子很抱歉啦,因为里面有个叫宝石的朋友发来疑问,我当时在学其他知识,没有仔细的看!当时我理解错了他的意思,我在这里向你道歉。我学的那行代码肯定是有问题的,但是在某些宽松的场合,可以很简洁的去表达呢!   C语言学到现在正好2周时间了,我觉得C语言还是蛮给力的。争取
http://cyqdata.cn/cnblogs/article-detail-39272 
memcached全面剖析–4. memcached的分布式算法
本系列文章导航memcached完全剖析–1. memcached的基础memcached全面剖析–2.理解memcached的内存存储memcached全面剖析–3.memcached的删除机制和发展方向memcached全面剖析–4. memcached的分布式算法memcached全面剖析–5. memcached的应用和兼容程序asdfaafasdfsaf 发表日:2008/7/
http://cyqdata.cn/cnblogs/article-detail-39139 
谈谈数据加密的处理--提供各种算法处理
数据的加密重要性大家皆知,很多情况下需要对数据进行加密处理,但各种重要数据的加密要求不一样,有些需要时可逆的,有些是不要求可逆的,可逆的一般称之为对称加密算法,不可逆的一般可以成为非对称加密算法。如登录密码,一般较好的方式是采用不可逆的加密算法,如MD5、SHA256、哈希数值等,当然也有的采用可逆的强度好一些的加密方式,在选择加密键值的时候,变化一下也算是比较不错的选择。另外一些为了掩人耳目或者
http://cyqdata.cn/cnblogs/article-detail-39040 
一个简单的关键字过滤算法
早上看到老赵的《一个较完整的关键字过滤解决方案(上)》文章,讲到怎样在项目中嵌入过滤方案的问题,以及提到 xingd 和 sumtec 两位大师发表的系列互拼的文章,在此我也忍不住谈谈自己遇到的问题以及一个的简化版的算法。 因为过滤关键字机制到处可见,于是聪明的网友就会想到各种各样的方法突破,例如: 1、中文会用繁体字的方法避开关键字扫描2、在关键字中间插入无意思的特殊字符,例如 * &
http://cyqdata.cn/cnblogs/article-detail-39039 
基于.NET的分词软件设计与实现V1.0--总体思路及算法实现
首先介绍一下这个分词软件的总体思路。   查阅了网上的一些相关资料,普遍采用的都是“正向最大匹配算法”和“逆向最大匹配算法”,不了解的朋友先来这里看下两个算法的基本思想:   正向最大匹配算法基本思想是:首先在词库里查找文本是否存在,如果存在,直接提取出来,而如果不存在,则删除文本的最后一个字,检查是否是单字,若是输出此字并将短语减去此字,若不是则继
http://cyqdata.cn/cnblogs/article-detail-38810 
在emacs中用gdb调试学习算法与数据结构基础(1)_猜价格游戏
C语言,我学到指针的第一章节,后面还有不少关于指针的知识点,对于之前我所学过的C语言语法细节与实现原理方面我自己认为还是比较深入和扎实的了。但是我今天有个决定,我想先暂停C语言关于指针后续章节的学习,而是用现在所学的知识在算法和数据结构中灵活运用下后再在合适的时候补充学习完C语言。因为我想C语言就像是一门功夫,我之前学得很快,但是我只是懂得那些招式是什么样子的,会起到什么作用,但是我还没有运用这些
http://cyqdata.cn/cnblogs/article-detail-38769 
【图像算法】彩色图像分割专题四:测试图片的生成
【图像算法】彩色图像分割专题四:测试图片的生成   SkySeraph May 29th 2011  HQU Email:zgzhaobo@gmail.com    QQ:452728574 Latest Modified Date:May 29th 2011 HQU 一 说明: 用于对彩色分割算法的测试。   二 
http://cyqdata.cn/cnblogs/article-detail-38517 
一些重要的算法
下面是一些比较重要的算法,原文罗列了32个,但我觉得有很多是数论里的,和计算机的不相干,所以没有选取。下面的这些,有的我们经常在用,有的基本不用。有的很常见,有的很偏。不过了解一下也是好事。也欢迎你留下你觉得有意义的算法。(注:本篇文章并非翻译,其中的算法描述大部份摘自Wikipedia,因为维基百科描述的很专业了)   A*搜寻算法  俗称A星算法。这是一种在图形平面上,有多个节点的路径,求出
http://cyqdata.cn/cnblogs/article-detail-38436 
自动垃圾回收学习笔记-垃圾回收算法
在上一篇文章中,我们了解了显式的内存管理的复杂性,而且还容易出错。因此我们需要一种自动内存管理的策略,这就是自动垃圾回收机制。 既然是自动垃圾回收,那么平台肯定得采取一种方式发现垃圾,然后清除。这就是垃圾收集算法所关注的问题。垃圾收集算法的任务就是将活动的对象和已经死掉的对象分别出来,然后将死掉的对象的内存回收,而且为了更好的利用内存,有的算法还会对内存碎片进行压缩。下面会对常用的垃圾收集算法
http://cyqdata.cn/cnblogs/article-detail-38409 
数组左旋转k位 —— C++标准算法库中最悲剧的函数:rotate
  要将一个数组的所有元素向左旋转k位,通常有三种算法:   算法1(分组交换): 若a长度大于b,将ab分成a0a1b,交换a0和b,得ba1a0,只需再交换a1 和a0。 若a长度小于b,将ab分成ab0b1,交换a和b0,得b0ab1,只需再交换a 和b1。 不断将数组划分和交换,直到不能再划分为止。分组过程与求最大公约数很相似。  读写内存各 n到2*n次 &
http://cyqdata.cn/cnblogs/article-detail-38379 
算法导论》学习总结 — 19.第15章 动态规划(4) 案例之LCS
建议先看看前言:http://www.cnblogs.com/tanky_woo/archive/2011/04/09/2010263.html 这个案例也比较简单,最长公共子序列(LCS),网上的分析非常多,给力啊! 按照上一篇总结所说的,找状态转移方程: 所以按照所给方程,写代码的工作就非常非常简单轻松了: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
http://cyqdata.cn/cnblogs/article-detail-38218