算法
frankwtq
这个作者很懒,什么都没留下…
展开
-
基本算法设计策略
基本算法设计策略贪心法分治法回溯法分支限界法随机化算法动态规划贪心法 求解问题最优解,将问题分解为若干步,每一步都取当前最优解,即局部最优解。 例子:N人过桥问题分治法 求解问题唯一解,将问题分解为小规模的子问题,子问题之间相互独立。 例子:汉诺塔回溯法 求解问题最优解或唯一解。 就是深度优先搜索,常用递归实现。 约数条件:有不可行解时,判断当前原创 2016-03-31 16:16:15 · 4679 阅读 · 0 评论 -
算法时间复杂度的计算 [整理]
基本的计算步骤 时间复杂度的定义 一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n))为算法的渐进时间复杂度(O是数量级的符号 ),简称时间复杂度。根据定义,可以归纳转载 2016-04-01 15:56:05 · 402 阅读 · 0 评论 -
递归实现格雷码
#include <iostream> #include <string> #include <math.h> using namespace std; class GrayCode { public: GrayCode(){}; GrayCode(int n) : m_iOrder(n) {原创 2016-04-03 13:40:22 · 875 阅读 · 0 评论 -
大数相乘
#include <iostream>#include <string>#include <math.h>using namespace std;class BigNumMultiply{public: BigNumMultiply(){}; ~BigNumMultiply() { delete []m_ipX; delete []m_原创 2016-04-03 15:31:58 · 257 阅读 · 0 评论 -
文章标题
HashMap基础知识–来源:伯乐专栏作者/玻璃猫,微信公众号 - 程序员小灰简述 HashMap是由一个个键值对的集合,每个键值对也叫Entry,分散存储在一个数组中。 HashMap数组每一个元素的初始值都是Null。 常用操作:Get和PutPut原理 hashMap.put(“apple”, 0) 利用一个哈希函数来确定Entry的插入位置(index) i转载 2017-11-28 10:33:59 · 187 阅读 · 0 评论