
程序员面试
文章平均质量分 78
wangxu_zju_2010
这个作者很懒,什么都没留下…
展开
-
程序员面试----动态规划法的应用
一、概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。 适用于动态规划算法的问题一般有以下三个性质:(1) 最优化原理:如果问题的最优解所包含的子问题的解也是最优的,就称该问题具有最优子结构,即满足最优化原理。(2) 无后效性:即某阶段状态一旦确定,原创 2012-04-22 19:52:08 · 1501 阅读 · 0 评论 -
哈希表及其常用算法(代码实现)
整理了一下Hash表相关内容,如下: Hash 表是使用 O(1) 时间进行数据的插入删除和查找,但是 hash 表不保证表中数据的有序性,这样在 hash 表中查找最大数据或者最小数据的时间是 O(N) 。 1 寻址和 hash 函数 理想状态下 hash 足够大,每一数据保存在一个 hash 存储单元内,这样对于插入删除和查找某一个数据就可以直接原创 2012-04-23 15:11:45 · 20541 阅读 · 0 评论 -
程序员面试---分治法的应用
分治法的设计思想是,将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。分治策略是:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。这种算法设计策略叫做分治法。 分治法所能解决的问题一般具有以原创 2012-04-20 15:20:17 · 1066 阅读 · 0 评论