自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

鲲鹏望舒

激情青年

  • 博客(24)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 斐波那契数列及青蛙跳台阶问题

题目1:写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。斐波那契(Fibonacci)数列定义如下: f(n)=⎧⎩⎨⎪⎪0,1,f(n−1)+f(n−2),n=0n=1n>2\begin{equation}f(n)=\left\{ \begin{array}{cc} 0, &n=0\\ 1,

2015-07-29 15:51:31 2879 1

原创 查找算法

查找:所谓查找就是在数据集合中寻找满足某种条件的数据元素。1. 二分查找1.1 二分查找的定义二分查找也属于顺序表查找范围,二分查找也称为折半查找。二分查找(有序)的时间复杂度为O(LogN)。那么什么是二分查找呢?二分查找的基本思想是, 在有序表中,取中间记录作为比较对象,若给定值与中间记录的关键字相等,则查找成功;若给定值小于中间记录的关键字,则在中间记录的左半区继续查找;若给定值大于中间记录的

2015-07-27 17:27:10 590

原创 各种排序算法的实现,总结与比较

(一)排序基本概念:  根据排序过程中待排序文件存放的位置不同,可以把排序分为内部和外部排序两大类。在排序过程中,所有需要排序的数都在内存,并在内存中调整它们的存储顺序,称为内排序;在排序过程中,只有部分数被调入内存,并借助内存调整数在外存中的存放顺序排序方法称为外排序。内部排序适用于记录个数不很多的较小待排序文件的排序;外部排序则适用于记录个数太多不能一次全部放入内存的较大待排序文件的排序。(二)

2015-07-23 17:29:36 2853

原创 面试题7:用两个栈实现队列和用两个队列实现栈

题目:1.0 用两个栈实现一个队列。队列声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和队列头部删除结点功能。template <typename T> class CQueue{public: CQueue(void); ~CQueue(void); // 在队列末尾添加一个结点 void appendTail(

2015-07-23 16:01:06 667

原创 单链表的相关操作

#ifndef _SLIST_H#define _SLIST_H#ifdef __cplusplusextern "C" {#endif /*******1. 不带头结点的单链表*****/ /***** *@链表结点结构定义 *@ m_data:数据 *@m_pNext:指向下一结点的指针 ***/ struct listNode

2015-07-22 22:06:21 545

转载 传指针和传指针引用的区别/指针和引用的区别

指针传递参数本质上是值传递的方式,它所传递的是一个地址值。值传递过程中,被调函数的形式参数作为被调函数的局部变量处理,即在栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为了实参的一个副本。值传递的特点是被调函数对形式参数的任何操作都是作为局部变量进行,不会影响主调函数的实参变量的值。(这里是在说实参指针本身的地址值不会变)而在引用传递过程中,被调函数的形式参数虽然也作为局部变量在栈中开辟

2015-07-22 10:09:40 814

转载 指针初始化为NULL的作用

关于空指针NULL、野指针、通用指针首先说一下什么是指针,只要明白了指针的含义,你就明白null的含义了。 假设 有语句 int a=10; 那么编译器就在内存中开辟1个整型单元存放变量a,我们假设这个整型单元在内存中的地址是 0x1000;那么内存0x1000单元中存放了数据10,每次我们访问a的时候,实际上都是访问的0x1000单元中的10. 现在定义:int *p;

2015-07-19 22:36:25 6109

原创 第十一章:关联容器

关联容器关联容器支持高效率的关键字查找和访问。 关联容器和顺序容器的本质差别在于:关联容器通过键(key)存储和读取元素,而顺序容器则通过元素在容器中的位置顺序存储和访问元素。关联容器(associative-container) :两个主要关联容器:map 和 setmap 的元素以键-值(key-value)对的形式组织:键用作元素在 map 中的索引,而值则表示所存储和读取的数据。set 仅包

2015-07-15 16:13:18 684

原创 static修饰符

static:可用来修饰成员变量和成员方法,在面向对象中使用static修饰的内容隶属于类,而不直接隶属于对象,所以static修饰的成员变量叫类变量,修饰的方法称为类方法。static修饰的变量陈祚静态变量,静态变量和一般的成员变量不同,一个雷在加载到内存时,静态变量只初始化一次,也就是说所有对象的静态变量在内存中都只有一个存储位置,每个静态变量都指向内存中同一个地址,他是所有的对象之间共享的数据

2015-07-15 10:08:25 496

原创 面向对象

面向对象(Object-Oriented,简称OO),是一种程序结构设计方法。面向对象思想的基础是将相关的数据和方法放在一起,组合成一种新的复合数据类型。对象:方式万物皆对象,对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对

2015-07-14 20:20:07 453

原创 杨辉三角

package java_test;public class YanghuiTriangle { static void YHTriangle(){ int[][] arr=new int[10][10]; for(int row=0;row<arr.length;row++){ for(int col=0;col<=row;col++

2015-07-14 16:19:47 522

原创 文章标题

喝汽水问题有1000瓶汽水,喝完后每3个空瓶能换1瓶汽水,问最后最多可以喝几瓶汽水,此时剩余几个空瓶?不妨假设,共有n瓶汽水,每a个空瓶能换b瓶汽水(a > b)。刚开始有n瓶汽水,喝完后就有n个空瓶,多喝的汽水是靠空瓶换来的,每进行一次空瓶换汽水,就能多喝b瓶汽水、空瓶数目就减少了a-b个(a个空瓶换了b瓶汽水,喝完后得到b个空瓶)。(下面用 [x] 表示x的整数部分)1 如果允许从别处(老板或其

2015-07-14 15:42:58 355

原创 百元买百鸡

package java_test;/*百元买百鸡问题*//*********** 百钱买百鸡的问题算是一套非常经典的不定方程的问题,题目很简单:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。分析:估计现在小学生都能手工推算这套题,只不过我们用计算机来推算,我们可以设公鸡为x,母鸡为y,小

2015-07-14 11:24:47 1530

原创 最大公约数和最小公倍数

辗除法(zhǎnchú fǎ )——辗转相除法, 又名欧几里德算法(Euclidean algorithm)乃求两个正整数之最大公因子的算法;public class Hello { static int GreatestCommonDivisor(int a,int b) { if(a==0||b==0) { System.ou

2015-07-14 10:44:56 663

原创 动态内存与智能指针

在c++中,动态内存的管理是通过一对运算符来完成的:new,在动态内存中为对象分配空间并返回一个指向该对象的指针,我们可以选择对对象进行初始化;delete,接受一个动态对象指针,销毁该对象并释放与之关联的内存。 动态内存在使用时很容易出问题,有时会忘记释放内存,造成内存泄露,有时在尚有指针引用内存的情况下就释放了内存,导致产生引用非法内存的指针。 为了更容易(同时也更安全)第使用动态内存,新的

2015-07-14 10:37:07 571

原创 内存分配--静态内存、栈和堆

可编程内存在基本上分为这样的几大部分:静态存储区、堆区和栈区。他们的功能不同,对他们使用方式也就不同。 静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。 栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的

2015-07-11 15:37:20 669

原创 图的深度优先搜索算法DFS

1.问题描述与理解 深度优先搜索(Depth First Search,DFS)所遵循的策略,如同其名称所云,是在图中尽可能“更深”地进行搜索。在深度优先搜索中,对最新发现的顶点v若此顶点尚有未探索过从其出发的边就探索之。当v的所有边都被探索过,搜索“回溯”到从其出发发现顶点v的顶点。此过程继续直至发现所有从源点可达的顶点。若图中还有未发现的顶点,则以其中之一为新的源点重复搜索,直至所有的

2015-07-10 16:51:14 1196

原创 图的搜索算法之广度优先搜索

图的邻接表表示对图(有向或无向)G=<V,E>(为方便记,假定V=1,2,…,n)G=<V, E>(为方便记,假定V={1, 2, …, n}),其邻接表表示是一个由|V|个链表组成数组,对每个u∈Vu ∈ V,链表Adj[u]称为对应顶点u的邻接表。它包含G中所有与u相邻的顶点。每个邻接表中顶点通常是按任意顺序存放的。 无向图的邻接表表示 有向图的邻接表表示广度

2015-07-10 16:32:03 1806

原创 C++的流插入运算符“<<”和流提取运算符“>>”的重载

C++的流插入运算符“<<”和流提取运算符“>>”是C++在类库中提供的,所有C++编译系统都在类库中提供输入流类istream和输出流类ostream。cin和cout分别是istream类和ostream类的对象。在类库提供的头文件中已经对“<<”和“>>”进行了重载,使之作为流插入运算符和流提取运算符,能用来输出和输入C++标准类型的数据。因此,凡是用“cout<<”和“cin>>”对标准类型

2015-07-10 15:38:16 7532

转载 C++ enum用法

转载地址:http://www.cnblogs.com/ifaithu/articles/2638218.html1、为什么要用enum 写程序时,我们常常需要为某个对象关联一组可选alternative属性.例如,学生的成绩分A,B,C,D等,天气分sunny, cloudy, rainy等等。 更常见的,打开一个文件可能有三种状态:input, output和ap

2015-07-04 16:00:08 3141

转载 VC Edit控件自动换行显示方法

自动换行有很多种实现方法,但EDIT控件必须设置以下属性: 当然了,不管用什么方法,edit控件的属性一定需要设置: edit控件Multiline属性一定要设置为True,否则文本将只有一行,当Multiline属性被置为Ture的时候,Auto Vscroll属性(设为(ture)便可用了(竖直方向超出范围自动滚屏,需要设为TRUE,Auto Hscroll(设为ture)水平自动换行,

2015-07-04 12:27:06 3182

转载 opencv解方程

在Ax=0时候是不能用cvsolve来接函数的,但是可以利用一下函数SVD::solveZ来求解。#include<cv.h> #include<iostream> using namespace std; using namespace cv; int main() { Mat A(7, 3, CV_64FC1); Mat vec(3, 1, C

2015-07-03 09:00:33 4076

转载 循环结构中break、continue、return和exit的区别

1. break continue ruturn exit

2015-07-02 15:49:20 968

原创 回溯算法

1、概念 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。 许多复杂的,规模较大的问题都可以使

2015-07-02 15:45:34 843

文本查询程序

c++ primer 第五版 p430文本查询程序例程

2015-07-16

欧拉角表示旋转矩阵R的各种形式及转换程序

1. 详细文档介绍旋转矩阵R 的构成原理及其各种形式 2. matlab计算各种形式的R(x-y-z)(y-x-z)等等形式 3. 欧拉角,四元数,旋转矩阵R之间的相互转换程序

2014-07-09

MFC矩阵伪逆运算opencv

可存取txt文档矩阵,MFC,C++,OPENCV求伪逆

2013-11-01

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

TA关注的人

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