最短路问题是图论中最基础的问题,在面试题中出现的次数也很多,很多类似最少步数等问题都能转化到最短路问题,这篇文章介绍单源最短路问题的两种算法。单源最短路问题是固定一个起点,求它到其他所有点的最短路问题,如果只求两个固定点之间的最短路,看起来要简单很多,但其实复杂度是一样的,所以我们广泛的讨论单源最短路问题。...
分类:
其他好文 时间:
2014-04-29 13:46:22
阅读次数:
281
关于百度面试题我现在的感觉是用不上很深的算法,但是思路很灵活,前边已经我已经贴出了5种解法的源代码,本来以为可以到此收尾,今天又有一位同学说了一种思路比较奇怪但是符合题意的方法。。请看关于淘汰85%面试者的百度开发者面试题的看法的评论,@apollokk 。
后边我也说过几种优化后的方法,如果你还没有看可以看一下百度开发者面试题(优化)这篇文章,关于它的总结你可以参看:百度开发者面试题(总结),...
分类:
其他好文 时间:
2014-04-29 13:46:20
阅读次数:
247
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
在上一篇排序算法的文章中介绍了插入排序,分别为直接插入排序和希尔排序。今天我们继续来介绍其他的排序算法。
1、选择排序:简单选择排序
2、选择排序:堆排序...
分类:
其他好文 时间:
2014-04-29 13:36:20
阅读次数:
340
一、认清函数的真相
1、函数的由来
程序 = 数据 + 算法
C程序 = 数据 + 函数
2、函数的意义
模块化程序设计
C语言中的模块化
3、面向过程的程序设计
# 面向过程是一种以过程为中心的编程思想
# 首先将复杂问题分解为一个个容易解决的问题
# 分解过后的问题可以按照步骤一步步完成
# 函数是面向过程在C语言中的体现
# 解决问题的每一个步骤可以...
分类:
编程语言 时间:
2014-04-29 13:35:20
阅读次数:
427
最近这个比较火,但是改了东西得自己保存啊,不能总是从网上下载啊,这个管理就比较麻烦(对于刚解除OP的人来说)。
首先你得知道怎么添加这些新玩意,其次修改你自己的玩意,最次编译出产品。
理想是丰满的,现实是曲折的,道路还是要自己走出来的。
学习源码架构,学习定制功能,学习版本跟踪管理。...
分类:
其他好文 时间:
2014-04-29 13:35:20
阅读次数:
406
1.简单工厂模式:由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现
2.策略模式:定义一系列的算法,把它们一个个封装起来,并且是他们可以相互替换。使得算法可以独立于使用它的客户而变化。
3.装饰模式:动态的给一个对象添加一些额外的职责,比生成子类更加灵活。
4.代理模式:为其他对象提供一种代理控制对这个对象的访问...
分类:
其他好文 时间:
2014-04-29 13:34:21
阅读次数:
328
算法入门经典关于区间覆盖的讲解:
8.4.6:区间覆盖问题...
分类:
其他好文 时间:
2014-04-29 13:21:23
阅读次数:
262
deadline算法的核心就是在传统的电梯算法中加入了请求超时的机制,该机制主要体现在两点:
1、请求超时时,对超时请求的选择。
2、没有请求超时时,当扫描完电梯最后一个request后,准备返回时,对第一个request的选择。基于以上两点,平衡了系统i/o吞吐量和响应时间。
此外,该算法还考虑到了读操作对写操作造成的饥饿。
定义了elevator_deadline调度器类型:
...
分类:
系统相关 时间:
2014-04-29 13:13:21
阅读次数:
548