自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (9)
  • 收藏
  • 关注

原创 算法讨论(八)递归法解决0-1背包问题

题目:输入两个整数m,n,从数列1,2,...,n中随意取几个数,使其和等于m,要求将其中所有的可能的组合列出,编程求解。分析:0-1背包问题。首先定义一个bool型数组flag【n】,如果n被选中,则它相应的标志flag【n-1】=true。(1)如果m(2)如果m>n*(n+1)/2,则m过大,直接返回。(3)如果m在【n,n*(n+1)/2】之间,则将n的标志flag[n-1]=true,然后令m=m-n, n=n-1递归调用func(m,n)。(4)如果m==0,则输出结果代码如下:bool *fl

2011-05-24 21:40:00 1542 1

原创 ReportX控件

<br />刚接触了一个新控件,感觉不错,叫做ReportX,做报表用的,而且可以直接对Excel操作,可以直接将表中的内容导出至一个Excel表,或者直接从一个Excel表中导入。<br />函数<br /><br />ReportX关于导入导出EXCEL的函数共有三个ExportExcel以二进制方式导出、ExportExcelOle以Ole方式导出、ImportExcelOle以Ole方式导入,下面具体讲一下三个函数的用法。<br />ExportExcel<br />ExportExcel (BST

2011-05-24 09:14:00 1912 1

转载 浏览特定目录

<br /><br />要达到的目的如上图所示,默认的根路径是桌面,如何自己修改?<br />引用http://blog.csdn.net/joinclear/archive/2010/11/17/6016613.aspx<br />LPITEMIDLIST ParsePidlFromPath(LPCSTR path) <br />{     <br />    OLECHAR szOleChar[MAX_PATH];     <br />    LPSHELLFOLDER IpsfDeskTop;    

2011-05-14 10:35:00 656

原创 关于负整数的移位问题

题目:有两个变量a,b,不用if 、?:、switch 等判断语句,找出两个数中的最大者。分析:我的思路是用a-b,看一下结果是正还是负,不用判断语句,不能与0比较,可以将两者的差值赋给int型变量c,看一下c的最高位是0还是1,同样不能用switch来判断。可以定义一个数组num[2]={a,b},c进行右移位操作,c>>=31(32位操作系统)。当a>b时,c的值为零,返回num【c】,既是a,同理当a  int a,b;  cin>>a>>b;   int num[2]={a,b};    int c

2011-05-12 22:22:00 1237 1

原创 算法讨论(七)--已排序数组中寻找两个数,其和等于给定的数

<br />题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。<br />例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11。<br /> <br />分析:设num1+num2,由于是排好序的数组,将num1为第一个数,num2为最后一个数,如果和大于给定值,就将第一个数与倒数第二个数相加,即num2往前移,若小于则num1往后移。<br /

2011-05-12 15:16:00 907

原创 一个面试题

<br />今天看到一个题目:<br />有两个数组a,b,大小都为n,数组元素的值任意,无序;<br />要求:通过交换a,b中的元素,使数组a元素的和与数组b元素的和之间的差最小<br />没想到很好的方法,上网搜了下,看到这样一个思路,感觉很不错,如下<br /> 当前数组a和数组b的和之差为<br />    A = sum(a) - sum(b)<br />    a的第i个元素和b的第j个元素交换后,a和b的和之差为<br />    A' = sum(a) - a[i] + b[j] - (s

2011-05-11 09:03:00 484

原创 算法讨论(六)--翻转句子中单词的顺序

<br />题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。<br />例如输入“I am a student.”,则输出“student. a am I”。<br /> <br />分析:首先对句子进行完全反转“tnedues a ma I”,然后当遇到空格时,对空格前面的单词进行反转,得到“student. a am I”。<br />每个单词反转两次,所以顺序不变。<br /> <br /> <br />#inclu

2011-05-08 16:33:00 722

原创 算法讨论(五)--判断整数序列是不是二元查找树的后序遍历结果

题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果:                                                8                                                / /                                              6 10           

2011-05-08 15:58:00 613

原创 算法讨论(四)--查找最小的k个元素

<br />题目:输入n个整数,输出其中最小的k个。<br />例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4。<br /> <br />分析,看到这个题目我首先想到的是将数组进行排序,而且题目中没有时间复杂度得要求,这样做是可以的。后来看到有高手的解答,时间复杂度为O(n+log(K)),具体算法如下:<br /> <br />首先定义一个最大堆,遍历数组,同时:如果堆的size小于K,则向堆中添加数据,如果size==k,则判断堆的最大值与数组的当前值a【i】的大小,

2011-05-08 15:02:00 554

原创 算法讨论(三)---在二元树中找出和为某一值的所有路径

<br />输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。<br />例如输入整数22和如下二元树<br />          10 <br />          / / <br />         5 12 <br />        / / <br />       4 7<br />则打印出两条路径:10, 12和10, 5, 7。<br /> <br />思路:递归。貌似涉及到二叉树的用递归是比较简单的方法。<br

2011-05-07 16:38:00 366

原创 算法讨论(二)---求子数组的最大和

<br />题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。<br />例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。<br /> <br />我的程序:<br />int find_max(int a[],int n)<br />{<br /> int sum_ret=0;<br /> int

2011-05-07 15:15:00 554

原创 程序员——算法讨论(一)

<br />题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。<br />比如将二元查找树 10 <br />                          / / <br />                         6 14 <br />                        / / / / <br />                       4 8 12 16 <br />转换成双向链表<br />4=6=8=10=

2011-05-07 11:00:00 360

原创 数据结构与算法C++版(笔记)

<br />跳跃链表:<br />跳跃链表主要是为了解决单链表和双链表查找复杂的问题提出的。其时间复杂度为O(lgn),主要的操作时查找和插入:<br />一、 查找 <br />目的:在跳跃表中查找一个元素x <br /> 在跳跃表中查找一个元素x,按照如下几个步骤进行: <br />i) 从最上层的链(Sh)的开头开始 <br />ii) 假设当前位置为p,它向右指向的节点为q(p与q不一定相邻),且q的值为y。将y与x作比较 <br />(1) x=y  输出查询成功及相关信息 <br />(2) x

2011-04-16 10:45:00 757

统计单词程序

统计单词统计单词统计单词统计单词统计单词统计单词统计单词统计单词

2011-05-06

走迷宫

走迷宫 走迷宫 走迷宫 走迷宫 走迷宫 走迷宫 走迷宫 走迷宫

2011-05-06

翻转文字 翻转文字翻转文字

翻转文字

2011-05-06

CButton类CButton类

CButton类CButton类CButton类CButton类CButton类CButton类CButton类CButton类CButton类

2011-04-16

PCA 人脸 VCPCA 人脸 VCPCA 人脸 VC

PCA 人脸 VC.rarPCA 人脸 VC.rarPCA 人脸 VC.rarPCA 人脸 VC.rarPCA 人脸 VC.rarPCA 人脸 VC.rarPCA 人脸 VC.rar

2011-04-16

小波变换小波变换换小波变换换小波变换

小波变换.rar小波变换.rar小波变换.rar小波变换.rar小波变换.rar

2011-04-16

VC++资源管理器实现

VC++资源管理器实现.rarVC++资源管理器实现.rarVC++资源管理器实现.rarVC++资源管理器实现.rar

2011-04-16

ASM-matlab

ASM-matlabASM-matlabASM-matlabASM-matlabASM-matlabASM-matlabASM-matlabASM-matlab

2011-04-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除