C++计时的几种方法说明及例程 1. 使用clock() 函数 头文件:clock()函数,返回“自程序启动到调用该函数,CPU时钟的计时单元数(clock tick)”每过1ms,计数值+1 精度:1毫秒#include #include int main(){ clock_t start,en
算法入门8:随机算法 之前将的算法都是确定的,即对于相同的输入总对应着相同的输出。但实际中也常常用到不确定的算法,比如随机数生成算法,算法的结果是不确定的,我们称这种算法为(随机)概率算法,分为如下四类:数值概率算法 用于数值问题的求解,通常是近似解蒙特卡洛算法Monte Carlo 能得到问题的一个解,但不一定是正确解,正确的概率依赖于算法运行的
算法入门7:分支限界法 上一篇回溯法中已经提到过,回溯法的思想是深度优先搜索加剪枝,与之相对,分支限界法的思想是广度优先搜索加剪枝。1. 分支限界法 – 广度优先搜素 1. 简单概述分支限界法思路的简单描述是:把问题的解空间转化成了图或者树的结构表示,然后使用广度优先搜索策略进行遍历,遍历的过程中记录和寻找所有可行解或者最优解
算法入门6:回溯法 一. 回溯法 – 深度优先搜素 1. 简单概述回溯法思路的简单描述是:把问题的解空间转化成了图或者树的结构表示,然后使用深度优先搜索策略进行遍历,遍历的过程中记录和寻找所有可行解或者最优解。基本思想类同于:图的深度优先搜索二叉树的后序遍历【分支限界法:广度优先搜索思想类同于:图的广度优先遍历二叉树的层序
算法入门5:贪心算法 贪心算法中“贪心”二字形象的说明了该算法的基本思想:贪心(每一步选择都是眼下的局部最优选择)。比如每次给你1张面额不定的纸币,共10次,你这么选?肯定是每次都要一张100元的。当你要拿第一张时,此时眼下最优的选择就是拿一张100的,不会管拿了之后会不会对后面的9张产生影响。这就是一种贪心,当然这种情况下的贪心选择也是最优的选择,因为局部最优导致了整体的最优。贪心算法常用于求解最优解
算法入门4:动态规划 分治算法将规模较大的问题划分成规模较小的子问题,通常,这些子问题是不重叠的。这一篇要介绍的动态规划算法,也是基于问题划分,区别在于划分的子问题是有重叠的(黄色部分),这样在求解的过程中,对于重叠的部分只要求解一次,记录下结果(备忘录方法),其他子问题中直接使用即可,减少了重复计算,效率更高。如下图,在计算子问题A的时候需要计算A的子问题a,b,c,计算B的时候需要计算b,c,d,这里b,c
算法入门3:分支算法(下) 分治算法的设计模式 - 大化小,小化了分治算法的主要步骤就是:分解,求解,合并。Divide-and-Conquer(P){ //问题规模足够小,直接解决 if(P≤n0) return(ADHOC(P); //问题规模大,则分解为较小的子问题 P1 ,P2 ,...,Pk divide p into smaller subin
算法入门2:分治算法(上) 上一篇中讲解了算法的基本概念,算法许许多多,按照算法基本思想,大致可分为如下几类:分治算法、贪心算法、动态规划、回溯法、分支限界、概率算法和随机算法等等。这一篇讲解分治算法。分治算法分治即分而治之。一个问题规模过大不容易直接解决,就可以划分成许多小问题,如果小问题不容易求解,那么可以再划分成规模更小的问题,直到规模小到很容易解决为止,解决这些小问题,再将小问题的解合并成大问题的解。这就是分
算法入门1:基本概念 1. 算法是什么算法:顾名思义,一种计算的方法,在程序设计上,就表现为一组指令序列。为了使得算法有意义,还规定算法必须是有限的和确定的,也就是说算法的执行时间有限、执行的过程是确定的。 比如我们写了代码int a = 10; //a,b为输入数据int b = 20;int c = a+b; //c为输出数据,算法为加法运算
GDI+ 中 GetImageEncodersSize 报错的解决方案 在使用GDI+的过程中,使用GetImageEncodersSize()函数时,出现如下内存错误经过调试,发现其原因是:在调用GetImageEncodersSize函数时,GDI+还没有被初始化所以解决方案是:确保调用前,GDI+的初始化函数 GdiplusStartup 已经被调用PS: 习惯性的将初始化函数GdiplusStartup 放在M
GDI+初探之图像透明显示和保存 GDI+ 的配置 1. 引入库文件以MFC 单文档程序为例新建一个MFC单文档程序,如GdiPlus,在右击项目,选择 属性--> Input-->Additional Depende
在程序A中阻塞式的调用、执行程序B 在程序A中,需要调用执行程序B,并且要等待B结束后,才返回A继续执行。即:A --> B -->A方法使用CreateProcess 创建进程,使用WaitForSingleObject等待结束信号代码HANDLE hNewProcess= NULL;STARTUPINFOA si = { sizeof(si) }; PROCESS_INFO
易错点:C++ switch case中定义变量 不止一次遇到,特此记下,以防再望下面的代码会报错int i=0; switch(i) { case 1: int j=1; break; case 2: i++; break; default: break; }Error 1 error C2360: initialization of 'j' is skipped by 'case' la
python 自动获取天气程序(V1) 1. 程序的功能运行程序,自动获取用户当前的城市,然后显示城市的最新天气信息2. 程序流程1)获取用户所在的城市2)城市名简化,如“浙江省杭州市”转化为‘杭州’,方便查询3)通过简化的城市名查找到该城市的编号(编号用于在网站上抓取该城市的天气)4)抓取城市天气(连接 http://www.weather.com.cn/data/sk/cityID.html 获取天气信息 ,
python string 中查找中文字符串 下面函数是从我在写的一个python自动获取天气的程序中截取的。该函数将从中文字符串“浙江省杭州市”中,截取出"杭州"首先将字符串编码为gbk,使用unicode(str,code),将code型编码 的 str字符串转换成unicode然后判断字符串中是否含有"省"和"市"字,如果有就截取掉;这里注意使用 u“省”最后返回截取的字符串def co
Windows编程 之临时文件 (笔记) 1. 函数说明1.1 GetTempFileName 创建一个临时文件,并返回临时文件的名字【1】 lpPathName 路径名【2】lpPrefixString 前缀【3】uUnique 是否唯一,0为唯一,否则不是。当设置为0时,会创建一个空文件,否则只是返回一个文件名【4】 返回的文件名,格式为 \ .TMP UINT WINAPI GetTemp
Win32 中 Slider Control 的使用 1. 添加控件 比如ID设置为:IDC_MY_SLIDER2. 设置控件的值范围 HWND hWndSlider = GetDlgItem(m_hWnd, IDC_MY_SLIDER); //m_hWnd为父窗口的句柄 SendMessageW(hWndSlider, TBM_SETRANGE, TRUE, (LPARAM)MAKELONG(-27,27));//设置
开发语言类 -- C++ *--- 要点 ---*1. 类2. 继承3. 虚基类4. 虚函数,纯虚函数,抽象类5. 运算符重载和友元6. 模版7. 单实例*--- 详解 ---*1. 虚基类 (详细讲解) http://blog.renren.com/share/222770247/8361030810 【为什
开发语言类 -- C *--- 要点 ---*1. 预编译指令 、ANSI标准宏2. 字节对齐3. 关键字4. 可变形参列表5. assert*--- 详解 ---**--- 代码 ---*#include #include #include //va_list#include //assert#define _DEBU