2015年7月19日

判断无向图G是否连通

摘要: 判断无向图G是否连通#include "stdafx.h"#include#includeusing namespace std;#define N 9 typedef struct{ int vexnum, arcnum; char vexs[N]; int matirx[N][N];}grap... 阅读全文

posted @ 2015-07-19 21:50 moffis 阅读(697) 评论(0) 推荐(0) 编辑

图的深度优先搜索与广度优先搜索

摘要: 无向图的深度优先搜索与广度优先搜索#include "stdafx.h"#include#includeusing namespace std;#define N 9typedef struct{ int vexnum, arcnum; char vexs[N]; int matirx[N][N];... 阅读全文

posted @ 2015-07-19 14:08 moffis 阅读(182) 评论(0) 推荐(0) 编辑

2015年7月18日

整数变换问题

摘要: 整数变换问题问题描述:关于整数i的变换f和g定义如下:f(i)=3i;g(i)=i/2。现要求对于给定的2个整数n和m,用最少的f和g变换次数将n变换为m。例如,可以将整数15用4次变换将它变换为整数4:4=gfgg(15)。当整数n不可能变换为整数m时,算法应如何处理?这里假定每个问题都有解。输入... 阅读全文

posted @ 2015-07-18 11:54 moffis 阅读(746) 评论(0) 推荐(0) 编辑

2015年7月16日

按层次遍历二叉树

摘要: 编写按层次顺序(同一层自左至右)遍历二叉树的算法。#include "stdafx.h"#include #include using namespace std;struct BiNOde{ int ele; BiNOde* lnode; BiNOde* rnode;};vector>aa... 阅读全文

posted @ 2015-07-16 22:29 moffis 阅读(434) 评论(0) 推荐(0) 编辑

交叉链表

摘要: 两个单向链表,找出它们的第一个公共结点。链表的结点定义为:struct ListNode{ int m_nKey; ListNode* m_pNext;};#include "stdafx.h"#include#includeusing namespace std;struct List... 阅读全文

posted @ 2015-07-16 18:49 moffis 阅读(483) 评论(0) 推荐(0) 编辑

2015年7月15日

二元查找树转换成一个排序的双向链表

摘要: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。最直观的一种思路就是每次从二分查找树中找到最小的数,加到链表中// BST2list.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h" #include usin... 阅读全文

posted @ 2015-07-15 23:50 moffis 阅读(223) 评论(0) 推荐(0) 编辑

简单计算器的实现

摘要: 计算器问题描述: 输入一个简单四则运算表达式字符串,计算该表达式的值注:1、表达式只含 +, -, *, /, (, ), 四则运算符2、表达式数值只包含整数(0-9),每个操作数可以是多位,且不会出现0作为除数的情况3、要考虑加减乘除按通常四则运算规定的计算优先级4、除法用整数除法,即仅保留除法运... 阅读全文

posted @ 2015-07-15 15:16 moffis 阅读(183) 评论(0) 推荐(0) 编辑

二叉树宽度的计算

摘要: 二叉树的宽度定义为具有最多结点数的层中包含的结点数,试计算一二叉树的宽度。#include "stdafx.h"#include #includeusing namespace std;struct BiNOde{ int ele; BiNOde* lnode; BiNOde* rnode;};v... 阅读全文

posted @ 2015-07-15 04:31 moffis 阅读(404) 评论(0) 推荐(0) 编辑

2015年7月14日

BMP文件的读取与显示

摘要: 有三个函数可以完成这一功能1.BitBlt BitBlt 用于从原设备中复制位图到目标设备void CMFCApplication1View::OnDraw(CDC* pDC){ CMFCApplication1Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc... 阅读全文

posted @ 2015-07-14 13:39 moffis 阅读(840) 评论(0) 推荐(0) 编辑

2015年7月13日

约瑟夫环问题

摘要: 约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。求剩下最后的一个人的编号。#include "stdafx.h"#... 阅读全文

posted @ 2015-07-13 13:38 moffis 阅读(164) 评论(0) 推荐(0) 编辑

2015年7月12日

单词统计

摘要: 单词统计题目描述: 输入一段英文文本,用程序统计出现频率最高和最低的两个单词;英文文本中仅出现这四类字符:空格( )、英文逗号(,)、英文句号(.)、英文大小写字母(a-z、A-Z)单词之间的分隔符仅考虑这三种:空格( )、英文逗号(,)、英文句号(.); 仅大小写不同的单词算同一个单词;如果两个单... 阅读全文

posted @ 2015-07-12 13:45 moffis 阅读(193) 评论(0) 推荐(0) 编辑

字符串操作

摘要: 字符串反转#include "stdafx.h"#includeusing namespace std;char*reverse_str(char*str);int _tmain(int argc, _TCHAR* argv[]){ char*str = "abcdefgh"; char*dst =... 阅读全文

posted @ 2015-07-12 12:12 moffis 阅读(169) 评论(0) 推荐(0) 编辑

2015年7月11日

关于strncpy函数

摘要: 转自:http://www.cnblogs.com/unimous/archive/2012/03/05/2381151.htmlC/C++中的strncpy()函数功能为将第source串的前n个字符拷贝到destination串,原型为:char * strncpy ( char * desti... 阅读全文

posted @ 2015-07-11 21:36 moffis 阅读(314) 评论(0) 推荐(0) 编辑

2015年7月10日

KMP字符串匹配算法

摘要: KMP算法是一种改进的字符串匹配算法,由D.E.Knuth与V.R.Pratt和J.H.Morris同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法)。KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。即确定下一次应该从那个位置重新开始... 阅读全文

posted @ 2015-07-10 21:12 moffis 阅读(156) 评论(0) 推荐(0) 编辑

2015年7月8日

判断二叉树是不是平衡二叉树

摘要: 输入一棵二叉树的根结点,判断该树是不是平衡二叉树。如果某二叉树中任意结点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。例如下图中的二叉树就是一棵平衡二叉树:// IsbalenceTree.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include#... 阅读全文

posted @ 2015-07-08 23:02 moffis 阅读(224) 评论(0) 推荐(0) 编辑

根据输入字符建树

摘要: 根据给出的字符串建树如a(b(c,d),e(f,g))a为根节点,b,e分别为a的左右孩子....// build_tree.cpp : 定义控制台应用程序的入口点。///*根据给出的字符串建树如a(b(c,d),e(f,g))a为根节点,b,e分别为a的左右孩子....*/#include "st... 阅读全文

posted @ 2015-07-08 17:52 moffis 阅读(289) 评论(0) 推荐(0) 编辑

2015年7月7日

判断IP地址是否有效

摘要: IP的有效值是1.0.0.1~255.255.255.255,写个程序,参数是一个char*的IP,返回这个IP是否有效。// IPcheck.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#includeusing namespace std;//IP的有效值是... 阅读全文

posted @ 2015-07-07 23:45 moffis 阅读(1299) 评论(0) 推荐(1) 编辑

二分查找算法

摘要: 二分查找又称折半查找算法基本思想首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,... 阅读全文

posted @ 2015-07-07 23:28 moffis 阅读(207) 评论(0) 推荐(0) 编辑

链表排序、链表删除、访问倒数第k个节点

摘要: 1.设一个带头结点的单向链表的头指针为head,设计算法,将链表的记录,按照data域的值递增排序。2.已知线性表中的元素以单链表作存储结构。试写一算法,删除表中所有大于x且小于y的元素(若表中存在这样的元素)同时释放被删除结点空间。3.输出该链表中倒数第k个结点, tail为倒数第0个节点//#i... 阅读全文

posted @ 2015-07-07 13:12 moffis 阅读(247) 评论(0) 推荐(0) 编辑

2015年7月6日

超级台阶

摘要: 描述有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法?注:规定从一级到一级有0种走法。输入输入数据首先包含一个整数n(1using namespace std;int Go_up(int m);int _tmain(int argc, _TCHAR* argv... 阅读全文

posted @ 2015-07-06 22:36 moffis 阅读(163) 评论(0) 推荐(0) 编辑

2015年7月5日

大数阶乘

摘要: 描述我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它?输入输入一个整数m(0#include#includeusing namespace std;dequere, t1, t2;void GreatNumFactorial(int num);void multi(... 阅读全文

posted @ 2015-07-05 09:18 moffis 阅读(174) 评论(0) 推荐(0) 编辑

2015年7月4日

括号配对问题

摘要: 描述现在,有一行括号序列,请你检查这行括号是否配对。输入第一行输入一个数N(0#includeusing namespace std;bool bracketmatch(char*in);int _tmain(int argc, _TCHAR* argv[]){ char*a = "[(]([[](... 阅读全文

posted @ 2015-07-04 19:40 moffis 阅读(106) 评论(0) 推荐(0) 编辑

求子数组的最大和

摘要: 题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的... 阅读全文

posted @ 2015-07-04 13:02 moffis 阅读(154) 评论(0) 推荐(0) 编辑

STL学习之stack

摘要: 栈是一种容器适配器,是一种后入先出(LIFO )队列。基本操作stacks;构造stacks1(s2);将s2赋值给s1s.push(x);入栈s.pop();出栈,注意:出栈操作只是删除栈顶的元素,并不返回该元素s.top();访问栈顶s.empty().判断栈空,当栈空时返回trues.size... 阅读全文

posted @ 2015-07-04 10:34 moffis 阅读(209) 评论(0) 推荐(0) 编辑

2015年7月3日

动态规划之求序列里最长的非降序列

摘要: 求序列里最长的非降序列例如:输入:{5,3,4,8,6,7}输出:4 即{3,4,6,7}// maxnodecrease.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include#includeusing namespace std;vectormaxno... 阅读全文

posted @ 2015-07-03 21:07 moffis 阅读(240) 评论(0) 推荐(0) 编辑

数组交换

摘要: 有两个序列a,b,大小都为n,序列元素的值任意整数,无序;要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。例如: var a=[100,99,98,1,2, 3];var b=[1, 2, 3, 4,5,40];// exchange_array.cpp : 定义... 阅读全文

posted @ 2015-07-03 11:56 moffis 阅读(197) 评论(0) 推荐(0) 编辑

2015年7月2日

如何将两个有序的一维数组合并为一个有序的一维数组合

摘要: 如何将两个有序的一维数组合并为一个有序的一维数组合// merge_array.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include#includeusing namespace std;void myinsert(list&pp, int num);i... 阅读全文

posted @ 2015-07-02 22:31 moffis 阅读(863) 评论(0) 推荐(0) 编辑

STL学习之deque

摘要: deque是双端队列,可以从两端对其进行操作常用的几个操作如下:deque c 创建一个空的dequedeque c1(c2) 复制一个dequec.push_back(elem) 在尾部加入一个数据c.push_front(elem) 在头部插入一个数据c.insert(pos,elem) 在po... 阅读全文

posted @ 2015-07-02 16:24 moffis 阅读(131) 评论(0) 推荐(0) 编辑

最长回文字符串

摘要: 在一个字符串中,找出最长的回文字符串// MaxSameReverse.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include#includeusing namespace std;bool IsReverseTheSame(dequein);deque ... 阅读全文

posted @ 2015-07-02 11:21 moffis 阅读(144) 评论(0) 推荐(0) 编辑

最大递增数

摘要: 输入一串数字,找到其中包含的最大递增数。递增数是指相邻的数位从小到大排列的数字。如: 2895345323,递增数有:289,345,23, 那么最大的递增数为345。运行时间限制:无限制内存限制:无限制输入:输入一串数字,默认这串数字是正确的,即里面不含有字符/空格等情况输出:输出最大递增数样例输... 阅读全文

posted @ 2015-07-02 09:05 moffis 阅读(218) 评论(0) 推荐(0) 编辑

2015年7月1日

华为笔试

摘要: 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。压缩规则:1、仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc"。2、压缩字段的格式为"字符重复的次数+字符"。例... 阅读全文

posted @ 2015-07-01 23:14 moffis 阅读(150) 评论(0) 推荐(0) 编辑

进程间通信——管道通信

摘要: Windows系统编程之进程间通信作者:北极星2003来源:看雪论坛(www.pediy.com)附件:windowipc.rarWindows的IPC(进程间通信)机制主要是异步管道和命名管道。(至于其他的IPC方式,例如内存映射、邮槽等这里就不介绍了)管道(pipe)是用于进程间通信的共享内存区... 阅读全文

posted @ 2015-07-01 15:18 moffis 阅读(370) 评论(0) 推荐(0) 编辑

进程间通信——使用WM_COPYDATA消息通信

摘要: 使用SendMessage向另一进程发送WM_COPYDATA消息发送WM_COPYDATA消息SendMessage(接收窗口句柄, WM_COPYDATA, (WPARAM)发送窗口句柄, (LPARAM)&copyData);copyData是要发送的数据,类型为COPYDATASTRUCT结... 阅读全文

posted @ 2015-07-01 14:13 moffis 阅读(858) 评论(0) 推荐(0) 编辑

2015年6月29日

混合高斯背景建模

摘要: 在运动目标检测提取中,背景目标对于目标的识别和跟踪至关重要。而建模正是背景目标提取的一个重要环节。前景是指在假设背景为静止的情况下,任何有意义的运动物体即为前景。运动物体检测的问题主要分为两类,摄像机固定和摄像机运动。对于摄像机运动的运动物体检测问题,比较著名的解决方案是光流法,通过求解偏微分方程求... 阅读全文

posted @ 2015-06-29 17:57 moffis 阅读(3875) 评论(0) 推荐(0) 编辑

2015年6月28日

基于mean shift的目标跟踪算法

摘要: Mean shift 算法是一种半自动跟踪方法在起始跟踪帧通过手工确定搜索窗口来选择运动目标计算核函数加权下的搜索窗口的直方图分布用同样的方法计算当前帧对应窗口的直方图分布以两个分布的相似性最大为原则使搜索窗口沿密度增加最大的方向移动目标的真实位置。加权直方图传统直方图仅仅统计落入直方图区间的像素的... 阅读全文

posted @ 2015-06-28 10:59 moffis 阅读(1778) 评论(0) 推荐(0) 编辑

2015年6月25日

Lukas-Kanade光流法

摘要: 光流是图像亮度的运动信息描述。光流法计算最初是由Horn和Schunck于1981年提出的,创造性地将二维速度场与灰度相联系,引入光流约束方程,得到光流计算的基本算法.光流计算基于物体移动的光学特性提出了2个假设:①运动物体的灰度在很短的间隔时间内保持不变;②给定邻域内的速度向量场变化是缓慢的。算法... 阅读全文

posted @ 2015-06-25 16:58 moffis 阅读(646) 评论(0) 推荐(0) 编辑

2015年6月24日

【CUDA并行编程之八】Cuda实现Kmeans算法

摘要: 本文主要介绍如何使用CUDA并行计算框架编程实现机器学习中的Kmeans算法,Kmeans算法的详细介绍在这里,本文重点在并行实现的过程。当然还是简单的回顾一下kmeans算法的串行过程:伪代码:[cpp]view plaincopy创建k个点作为起始质心(经常是随机选择)当任意一个点的簇分配结果发... 阅读全文

posted @ 2015-06-24 09:27 moffis 阅读(1717) 评论(0) 推荐(0) 编辑

【CUDA并行编程之七】数组元素之和

摘要: 现在需要求得一个数组的所有元素之和,之前感觉似乎不太可能,因为每个线程只处理一个元素,无法将所有元素联系起来,但是最近学习了一段代码可以实现,同时也对shared memory有了进一步的理解。一、C++串行实现串行实现的方法非常之简单,只要将所有元素依次相加就能够得到相应的结果,实际上我们注重的不... 阅读全文

posted @ 2015-06-24 09:26 moffis 阅读(532) 评论(0) 推荐(0) 编辑

【CUDA并行编程之六】KNN算法的并行实现

摘要: 之前写了两篇文章一个是KNN算法的C++串行实现,另一个是CUDA计算向量的欧氏距离。那么这篇文章就可以说是前两篇文章的一个简单的整合。在看这篇文章之前可以先阅读前两篇文章。一、生成数据集现在需要生成一个N个D维的数据,没在一组数据都有一个类标,这个类标根据第一维的正负来进行标识样本数据的类标:Po... 阅读全文

posted @ 2015-06-24 09:23 moffis 阅读(764) 评论(0) 推荐(0) 编辑

【CUDA并行编程之五】计算向量的欧式距离

摘要: 本文将介绍如何用cuda来计算两个向量之间的欧式距离,其中涉及到了如果将二维矩阵传入到核函数进行计算的问题,并且介绍两个内存分配和拷贝的API:cudaMallocPitch以及cudaMemcpy2D。一、需求分析现在我们要解决这么一个问题:计算一个D维的向量A[D]到二维矩阵B[N][D]的每一... 阅读全文

posted @ 2015-06-24 09:21 moffis 阅读(486) 评论(0) 推荐(0) 编辑

导航