编程算法 - 切割排序 代码(C)】的更多相关文章

切割排序 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 排序切割, 把一个数组分为, 大于k\小于k\等于k的三个部分. 能够使用高速排序的Partition函数, 进行处理, 把大于k的放在左边, 小于k的放在右边. 使用一个变量记录中间的位置, 则时间复杂度为O(3n/2). 代码: /* * main.cpp * * Created on: 2014.9.18 * Author: Spike */ /*eclipse cdt, gcc 4.…
高速排序算法 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 经典的高速排序算法, 作为一个编程者, 不论什么时候都要完整的手写. 代码: /* * main.cpp * * Created on: 2014.6.12 * Author: Spike */ /*eclipse cdt, gcc 4.8.1*/ #include <stdio.h> #include <stdlib.h> int RandomInRange(int mi…
区间调度问题 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 有n项工作, 每项工作分别在s时间開始, 在t时间结束. 对于每项工作能够选择參与与否, 假设參与, 则全程參与. 參与时间段不能重叠, 包含起始结束瞬间也不能重叠. 求最多能參与多少项工作? 使用贪心法, 策略是在可选工作中, 每次都选取结束时间最早的工作. 代码: /* * main.cpp * * Created on: 2014.7.17 * Author: spike…
字典分词 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 给定字典, 给定一句话, 进行分词. 使用深度遍历(DFS)的方法. 使用一个參数string, 保存当前分支的分词后的句子; 使用一个參数vector, 保存全部可能的组合. 使用一个验证函数, 推断句子能否够分词. 代码: /* * main.cpp * * Created on: 2014.9.18 * Author: Spike * Copyright (c) 2014年 WCL.…
分割数 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 有n个无差别的物品, 将它们划分成不超过m组, 求出划分方法数模M的余数. 比如: n=4的m=3个划分, result=4(1,1,2; 1,3; 2,2; 4) 使用动态规划(DP)方法, n的m划分a, 假设每一个i都有a, {a-1}的集合就是n-m的m划分; a=0时, 就是n的m-1划分. 递推公式: dp[i][j] = dp[i][j-i] + dp[i-1][j] 代…
数丑陋 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 我们把仅仅包括因子2, 3 和 5的数称作丑数. 求按从小到大的顺序的第5个丑数. 能够设置一个数组包括所须要的丑数, 依次比較乘以2, 乘以3, 乘以5的最小的数, 最后返回结果. 如第5个丑数是5, 如1, 2, 3, 4(2*2), 5均是丑数. 代码: /* * main.cpp * * Created on: 2014.6.12 * Author: Spike */ /*ec…
二部图确定 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 给定一个具有n个顶点的图. 要给图上每一个顶点染色, 而且要使相邻的顶点颜色不同.  能否最多用2种颜色进行染色. 没有重边和闭环. 即二分图问题. 使用深度优先搜索(dfs), 把顶点染成c, 然后相邻边染成-c. 假设相邻边被染色过, 且同样, 则图不是二分图; 假设全部边都被染色, 而且互不同样, 则是二分图. 进行多次搜索, 避免非连通图. 代码: /* * CppPrim…
全然背包问题 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 有n个重量和价值分别为w,v的物品, 从这些物品中挑选出总重量不超过W的物品, 求全部挑选方案中价值总和的最大值.  *每件物品能够挑选随意多件. 动态规划: 每次选取最大的组合, 增加到数组, 第一种时间复杂度O(nW^2), 另外一种时间复杂度O(nW). 解法1, max()部分表明, 要么来源于上面, 要么来源于前面. 代码: /* * main.cpp * * Crea…
远征队(expedition) 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 远征队有一辆卡车须要行驶L单位的距离, 開始时, 车上有P单位的汽油, 每开1单位须要1单位的汽油. 途中有N个加油站A, 每一个加油站能加油B, 油箱容量无限大, 假设能到达终点, 求最小加油次数. 比如: 须要行驶L=25的距离, 起始有P=10单位汽油, 有N=4个加油站,  加油站到起始位置的距离A={10, 14, 20, 21}, 能够加的汽油B={…
http://gamealgorithms.net 第1章 游戏编程概述 (已看) 第2章 2D图形 (已看) 第3章 游戏中的线性代数 (已看) 第4章 3D图形 (已看) 第5章 游戏输入 (已看) 第6章 声音 (已看) 第7章 物理 (已看) 第8章 摄像机 (已看) 第9章 人工智能 (已看) 第10章 用户界面 (已看) 第11章 脚本语言和数据格式 (已看) 第12章 网络游戏 (已看) 第13章 游戏示例:横向滚屏者(iOS) 第14章 游戏示例:塔防(PC/Mac) 第1章 游…