蚁群算法的第一个算法就是蚂蚁系统,而蚂蚁系统有三种基本模型分别是
蚁周模型、蚁密模型、蚁量模型。三种模型的实现大致相同,主要区别是在信息素
的更新方式上。在用蚂蚁系统解决T SP问题时,蚁量模型和蚁密模型是蚂蚁在构建
一条合法路径的过程中进行信息素的更新的,当蚂蚁走过一条边之后,就对该边进
行信息素的更新,即为局部更新方式。而蚁周模型是在所有蚂蚁都构建了一条合
法路径之后才对各边进行...
分类:
其他好文 时间:
2014-04-29 13:46:22
阅读次数:
349
1.stable_sort 和 sort的区别在于 前者作排序可以使原来的"相同"的值在序列中的相对位置不变
如 1 4 6 7 4' (4 和 4'值相等,加上' 表示是2个元素)
那么stable_sort能保证排序完 4 仍然在4' 前 也就是输出1 4 4' 6 7;但是sort 没有这个功能,算法不能保证这一点
2.在标准算法中的一部分算法 如果这个算法默认使用的是
...
分类:
其他好文 时间:
2014-04-29 13:45:20
阅读次数:
273
所谓的模板方法模式,就是定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法结构就可重新定义算法的某些特定步骤。
理论总是需要实践去证明的,接下来就让我们以文章开头的大碗面为例,举例细说模板方法模式。
食堂的大碗面分有鸡排,排骨面等等,面的叫法不一样,但是做法一样,加的原料也差不多,葱,香菜,汤。唯一的不同就是加排骨还是鸡排。...
分类:
其他好文 时间:
2014-04-29 13:37:21
阅读次数:
288
Problem Description
给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度.
回文就是正反读都是一样的字符串,如aba, abba等
Input
输入有多组case,不超过120组,每组输入为一行小写英文字符a,b,c...y,z组成的字符串S
两组case之间由空行隔开(该空行不用处理)
字符串长度len
Ou...
分类:
其他好文 时间:
2014-04-29 13:37:21
阅读次数:
311
在上一篇排序算法的文章中介绍了插入排序,分别为直接插入排序和希尔排序。今天我们继续来介绍其他的排序算法。
1、选择排序:简单选择排序
2、选择排序:堆排序...
分类:
其他好文 时间:
2014-04-29 13:36:20
阅读次数:
340
一、认清函数的真相
1、函数的由来
程序 = 数据 + 算法
C程序 = 数据 + 函数
2、函数的意义
模块化程序设计
C语言中的模块化
3、面向过程的程序设计
# 面向过程是一种以过程为中心的编程思想
# 首先将复杂问题分解为一个个容易解决的问题
# 分解过后的问题可以按照步骤一步步完成
# 函数是面向过程在C语言中的体现
# 解决问题的每一个步骤可以...
分类:
编程语言 时间:
2014-04-29 13:35:20
阅读次数:
427
1.简单工厂模式:由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现
2.策略模式:定义一系列的算法,把它们一个个封装起来,并且是他们可以相互替换。使得算法可以独立于使用它的客户而变化。
3.装饰模式:动态的给一个对象添加一些额外的职责,比生成子类更加灵活。
4.代理模式:为其他对象提供一种代理控制对这个对象的访问...
分类:
其他好文 时间:
2014-04-29 13:34:21
阅读次数:
328
定义了一个elevator_noop的调度器类型:
static struct elevator_type elevator_noop = {
.ops = {
.elevator_merge_req_fn = noop_merged_requests,//查询一个request,用于将bio并入
.elevator_dispatch_fn = noop_dispatch,/...
分类:
系统相关 时间:
2014-04-29 13:33:20
阅读次数:
830
又是一个新的算法,原来可以这样查找的。
我的一句话理解的思想:
计算可以抵消的数量,那么如果一个数出现的次数超过半那么最终这个数肯定不会被抵消完。
这个思想叫 Moore’s Voting Algorithm
有了这个思想武器之后,程序就可以写的很简单,可以很清楚看到怎么实现的,
参考资料可以看:...
分类:
其他好文 时间:
2014-04-29 13:22:22
阅读次数:
260
deadline算法的核心就是在传统的电梯算法中加入了请求超时的机制,该机制主要体现在两点:
1、请求超时时,对超时请求的选择。
2、没有请求超时时,当扫描完电梯最后一个request后,准备返回时,对第一个request的选择。基于以上两点,平衡了系统i/o吞吐量和响应时间。
此外,该算法还考虑到了读操作对写操作造成的饥饿。
定义了elevator_deadline调度器类型:
...
分类:
系统相关 时间:
2014-04-29 13:13:21
阅读次数:
548