随笔分类 -  算法系列

摘要:内容:本文将介绍几种常用的内存池技术的实现,这是我最近学习各大开源的内存池技术遗留下来的笔记,其主要内容包括:STL内存池以及类STL内存池实现Memcached内存池实现固定规格内存池实现Nginx内存池实现一.类STL的内存池实现方式SGI STL的内存池分为一级配置器和二级配置器,一级配置器主... 阅读全文
posted @ 2012-04-11 01:04 大熊先生|互联网后端技术 阅读(8877) 评论(19) 推荐(8) 编辑
摘要:问题: 我们在写程序的时候经常发现程序使用的内存往往比我们申请的多,为了优化程序的内存占用,搅尽脑汁想要优化内存占用,可是发现自己的代码也无从优化了,怎么办?现在我们把我们的焦点放到malloc上,毕竟我们向系统申请的内存都是通过它完成了,不了解他,也就不能彻底的优化内存占用。来个小例子//g++... 阅读全文
posted @ 2012-04-05 17:51 大熊先生|互联网后端技术 阅读(15964) 评论(6) 推荐(6) 编辑
摘要:问题: 如何增量同步文件,例如一个文本文件有10M,分别存放在A,B两个地方,现在两个文件是完全一样的,但是我马上要在A上对这个文件进行修改,B如何实现自动和A上的文件保持一致,并且网络的传输量最少。 应用场景: 这样的使用场景太多,这里随便列举几个 1.A机器为线上运营的机器,现在需要一台备份的机 阅读全文
posted @ 2012-03-30 22:22 大熊先生|互联网后端技术 阅读(18095) 评论(10) 推荐(9) 编辑
摘要:在一个数组中。若你需要频繁的计算一段区间内的和,你会怎么做?,最最简单的方法就是每次进行计算,但是这需要O(N)的时间复杂度,如这个需求非常的频繁,那么这个操作就会占用大量的CPU时间,进一步想一想,你有可能会想到使用空间换取时间的方法,把每一段区间的值一次记录下来,然后存储在内存中,将时间复杂度降... 阅读全文
posted @ 2011-09-10 16:11 大熊先生|互联网后端技术 阅读(3216) 评论(2) 推荐(2) 编辑
摘要:分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。分治法解题的一般步骤:(1)分解,将要解决的问题划分成若干规模较小的同类问题;(2)求解,当子问题划分得足够小时,用较简单的方法解决;(3)合并,按原问题的... 阅读全文
posted @ 2011-06-18 16:11 大熊先生|互联网后端技术 阅读(22774) 评论(21) 推荐(17) 编辑
摘要:前几天参加了一下ACM比赛,呵呵,权当陪太子读书了,成绩有一点点不好,不过都已经过去了。比赛可以没有,博文不能不继续,呵呵,今天我总结我最近练习的贪心算法。我写文章的顺序是先写的 动态规划 , 回溯算法 ,分支限界算法 然后再准备写写贪心算法以及基本的递归和分治算法,计算机最常用的算法就这么几种了,如果真正对算法感兴趣的话可以多研究研究算法导论,其实写算法给人的成就感比做项目要大,我们现在的项目其实都不太需要别特好的算法,大都都是阅读SDK等等文档等,运用设计模式,面向对象等基本都可以解决。当然,我也曾经遇到了对数学要求非常非常高的项目,设计到解高斯方程,微分积分这些,不过我当时没有参与这个. 阅读全文
posted @ 2011-06-07 12:54 大熊先生|互联网后端技术 阅读(8032) 评论(17) 推荐(7) 编辑
摘要:今天,我一反常态,其他的算法系列文章都是先介绍算法的理论,然后再讲到具体的问题,后来有人给我反应,对于那些随便看看的人,看到那些我贴了别的地方的理论文字就特别的反感,然后就不想继续往下面看了,对于分支限界算法,我采用问题先行的总结方法。首先我们来关注一个问题:问题描述:布线问题:印刷电路板将布线区域划分成n×m个方格阵列,要求确定连接方格阵列中的方格a的中点到方格b的中点的最短布线方案。在布线时,电路只能沿直线或直角布线,为了避免线路相交,已布了线的方格做了封锁标记,其他线路不允许穿过被封锁的方格。如下图所示: 问题 求解结果算法思路:布线问题的解空间是一个图,则从起始位置a开始将它 阅读全文
posted @ 2011-05-21 19:46 大熊先生|互联网后端技术 阅读(4579) 评论(1) 推荐(2) 编辑
摘要:理论辅助:回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。用回溯算法解决问题的一般步骤为: 1、定义一个解空间,它包含问题的解。 2、利用适于搜索的方法组织解空间。 3、利用深度优先法搜索解空间。 4、利用限界函数避免移动到不可能产生解的子空间。 问题的解空间通常是在搜索问题的解的过程中动态产生的,这是回溯算法的一个重要特性。还是那个基调,不喜欢纯理论的东西,喜欢使用例子来讲诉理论,在算法系列总结:动态规划(解公司外包成本问题) 的那一节里面 我们举得是经典的0-1背包问题,在回溯算法里面也有一些很经典的问题, 阅读全文
posted @ 2011-05-20 21:33 大熊先生|互联网后端技术 阅读(13169) 评论(4) 推荐(2) 编辑
摘要:Zealot Yin 所在的X公司需要至少W个其他公司提供的外包人员,现在有N家公司向X公司提供了可选方案,其中 P_i代表可提供外包人员单位数,如5人为一个单位数,若选用该公司方案,则必须采用整单位数的人数,如5人为一个单位数,则X公司只能采用n*5个人数(n=0,1,2,….)。C_i代表为P_i单位数员工提供的总工资,单位是万元 阅读全文
posted @ 2011-05-17 01:31 大熊先生|互联网后端技术 阅读(7317) 评论(10) 推荐(6) 编辑

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