随笔分类 - C++
摘要:转自:http://www.blogjava.net/fancydeepin/archive/2013/02/03/395073.html深度优先搜索算法(Depth First Search),是搜索算法的一种。是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所有边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。如右图所示的二叉树:A 是第一个访问的,然后顺序是 B、D,然后是 E。接着再是 C、F、G。那么,怎
阅读全文
摘要:背包问题目前有两种常规解放:递归方法和动态规划法1.动态规划方法转自:http://blog.sina.com.cn/s/blog_6dcd26b301013810.html动态规划的基本思想:将一个问题分解为子问题递归求解,且将中间结果保存以避免重复计算。通常用来求最优解,且最优解的局部也是最优的。求解过程产生多个决策序列,下一步总是依赖上一步的结果,自底向上的求解。动态规划算法可分解成从先到后的4个步骤:1. 描述一个最优解的结构,寻找子问题,对问题进行划分。2. 定义状态。往往将和子问题相关的各个变量的一组取值定义为一个状态。某个状态的值就是这个子问题的解(若有k个变量,一般用K维的数组
阅读全文
摘要:题目:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。 例如输入 8 / \ 6 10 /\ /\ 5 7 9 11 输出8 6 10 5 7 9 11。思路:广度优先遍历#include <iostream>#include <deque>using namespace std;struct BTree{ BTree* pLeft; BTree* pRight; int value;};void InsertBTree(BTree* &pRoot, int val){ if (!pRoot) { pRoot=new B...
阅读全文
摘要:课程文本分类project SVM算法入门转自:http://www.blogjava.net/zhenandaci/category/31868.html(一)SVM的简介支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中[10]。支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度,Accuracy)和学习能力(即无错误地识别任意样本的能力)之间
阅读全文
摘要:将一个具有n个元素的一维向量向左旋转i个位置,n=8,i=3,abcdefgh--defghabc//将一个具有n个元素的一维向量向左旋转i个位置,n=8,i=3,abcdefgh--defghabc#include <iostream>#include <time.h>using namespace std;//--方法一:先移动一位,然后移动i位即可void OneStep(char* ch,int n){ char t=ch[0]; for (int i=1;i<n;i++) ch[i-1]=ch[i]; ch[n-1]=t;}void Moveto(ch.
阅读全文
摘要:转自百度百科:http://baike.baidu.com/view/1026861.htm今天突然看到strcpy的写法,从中学到了很多,写下来记录C语言标准库函数 原型声明:extern char *strcpy(char *dest,const char *src); 头文件:string.h 功能:把从src地址开始且含有NULL结束符的字符串赋值到以dest开始的地址空间 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 返回指向dest的指针。 典型实现 /********************** * C语言标准库函数s...
阅读全文
摘要:今天有点时间,打算看点编程算法相关的东西,但是又不想单单看将数据结构和算法的课本,那些课本都太枯燥,提不起兴趣来学习。今天在网上看到《编程珠玑》这本书,下下来研究一下,讲的都是算法和问题如何求解的,通过一个例子来讲解算法,这很有意思,国外的大牛讲的也很通俗易懂,计划有时间要多看看这本书。 今天看了第一章的例子,问题的需求如下:输入:输入的是一个文件,至多包含n个正整数,每个正整数都要小于n,n很大,如果输入时有一个整数出现了两次,就会产生一个致命的错误。输出:以赠序形式输出排序之后的整数列表。 要解决这个问题,首先要生成自己的测试数据,一开始看的时候自己生成测试数据这块还真的把我给蒙住了...
阅读全文
摘要:原题A squad of robotic rovers are to be landed by NASA on a plateau on Mars.This plateau, which is curiously rectangular, must be navigated by the rovers so that their on-board cameras can get a complete view of the surrounding terrain to send back to Earth.A rover's position and location is repre
阅读全文
摘要:如果我们给每个元素都分配一个数字来标记其优先级,不妨设较小的数字具有较高的优先级,这样我们就可以在一个集合中访问优先级最高的元素并对其进行查找和删除操作了。这样,我们就引入了优先级队列 这种数据结构。 优先级队列(priority queue) 是0个或多个元素的集合,每个元素都有一个优先权,对优先级队列执行的操作有(1)查找(2)插入一个新元素 (3)删除 一般情况下,查找操作用来搜索优先权最大的元素,删除操作用来删除该元素 。对于优先权相同的元素,可按先进先出次序处理或按任意优先权进行。#ifndef _PRIORITYQUEUE_H_#define _PRIORITYQUEUE_H_#i
阅读全文
摘要:今天老板出差了,闲来无事自己写了一个矩阵类作为休息,想实现像matlab一样强大的功能,今天只是实现了最基本的部分,以后还得多多改进头文件: 1 #ifndef _MATRIX_H_ 2 #define _MATRIX_H_ 3 4 template <class DataType> 5 class Matrix 6 { 7 public: 8 Matrix(); //constructor 9 Matrix(int r, int c); ...
阅读全文
摘要:指针是体现C语言强大功能的灵魂,很多人对指针的用法总是很模糊,特别是什么时候该对指针分配空间,什么时候只需要定义下就行了。本文以一个小例子说明与指针有关的声明,定义,以及分配的问题。1.简单指针类型我们以char* 为例,在程序中我定义一个char*型指针pString; char* pString = NULL; pString = "yes, pString"; printf(pString); 程序输出结果:yes, pString然后我们定义另外一个char*型指针并给它分配空间,并初始化; char* qString = new char[6]; qString
阅读全文
摘要:在Visual C++6.0的编程中,我们经常要使用许多功能,而在使用这些功能的时候需要使用一些小技巧。下面就是我在编写初级MFC程序的时候总结的部分小知识,供大家参考。1.动态改变窗口的图标:HICON hIcon=AfxGetApp()->LoadIcon (IDI_ICON1);ASSERT(hIcon);AfxGetMainWnd()->SendMessage(WM_SETICON,TRUE,(LPARAM)hIcon);2.动态改变鼠标光标。用户可以使用Windows的标准光标形状,也可以建立自己的鼠标光标形状,方法是插入/新建或者导入已有的光标。SetCursor(Af
阅读全文
摘要:今天实现了窗体呈现透明的显示,里面涉及到一些东西,写下来共享,其实很简单,不过以前自己不知道而已。首先创建一个基于对话框的应用程序框架,然后拖进一个Splider和一个edit控件,并分别给相应的空间添加相应的空间变量。这里的edit完全是为了显示用,没有实际的输入功能。主要涉及的代码在OnInitDalogSplider控件的响应函数中。然后再OnInitDialog中添加如下的初始化信息::SetWindowPos(m_hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE); m_slide.SetRange(10, 255); m_s
阅读全文
摘要:1.头文件:#include <bitset>4 P; U3 _# h# B6 Z2.声明一个容器:(a)声明一个指定位数的空容器(所有位设为0): bitset<int> bits;(b)声明一个指定位数并将指定的几个位初始化为相应值的容器: bitset<n> bits(int);9 d6 c* ?1 U8 }6 Z4 ` bitdet<int> bits(string&)总结:bitset模板类中类型参数传递容器的位数,而构造函数参数通过一个int或一个string&值来从右至左初始化容器中的相应值。$ `/ ?^+ Y3
阅读全文
摘要:HBRUSH CAboutDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { if ((pWnd->GetDlgCtrlID() == IDC_EDIT1) && (nCtlColor == CTLCOLOR_EDIT)) { COLORREF clr = RGB(255,0,0); pDC->SetTextColor(clr); //设置红色的文本 clr = RGB(0,0,0); pDC->SetBkColor(clr); //设置黑色的背景 m_brMine = ::CreateSolidBr
阅读全文
摘要:在多文档MFC应用程序执行过程中,创建了多于一个的文档类、视图类、子框架类对象和一个主框架类、应用类对象。这些对象之间是通过一定的方式联系在一起的,在应用程序设计中,时常需要通过这些对象之间的关系来实现在文档、视图、框架类对象、应用程序类对象间相互引用和调用。如下: 1,视图类对文档类的使用 视图类对象的作用是在客户区显示文档类对象的内容,两者之间的调用最为常用。在视图类中,通过以下函数得到文档类对象的指针。在视图类CDrawView中可以找到一个函数: public: CDrawDoc* GetDocument(); 在视图类CDrawView的成员函数中,可以通过以下代码调用Ge...
阅读全文
摘要:Document(文档)、View(视图)、Frame(框架)、App(应用)之间相互访问的方法。访问对象访问位置访问实现应用程序App任何位置①AfxGetApp();②在要使用应用程序App的文件中加入:extern CAApp theApp,然后直接使用全局的theApp变量。主框架窗口任何位置①AfxGetMainWnd();②AfxGetApp()->m_pMainWnd;视图框架类中GetActiveView();//当前的活动视图文档类中GetFirstViewPosition();//可以获取全部视图GetNextView();文档文档类中GetDocument();文当
阅读全文

浙公网安备 33010602011771号