自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (1)
  • 收藏
  • 关注

原创 内部排序——堆排序初探

堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个节点的值都不大于其父节点的值,即A[PARENT[i]] >= A[i]。在数组的非降序排序中,需要使用的就是大根堆,因为根据大根堆的要求可知,最大的值一定在堆顶。若在输出堆顶的最小值之后,使得剩余n-1个

2015-07-12 17:58:26 557

原创 JAVA多态学习4

好啦,说好的这一节要开讲接口了,嘿嘿,还是老样子,读者最好借助之前说的抽象类进行比较喔O(∩_∩)O哈哈~什么是接口? 接口就是给出一些没有内容的方法,封装到一起,到某个类要使用的时候,在根据具体情况把这些方法写出来。接口的建立语法:interface 接口名{方法;}语法:class 类名 implements 接口{ 方法; 变量; }小结:接口是更加

2015-07-07 18:28:51 790

原创 JAVA多态学习3

这一节我们来学习抽象类抽象类–深入讨论 抽象类是java中一个比较重要的类。 1、用abstract关键字来修饰一个类时,这个类就是抽象类。 2、用abstract关键字来修饰一个方法时,这个方法就是抽象方法。 3、abstract抽象类中的abstract抽象方法是不允许在抽象类中实现的,一旦实现就不是抽象方法和抽象类了。abstract抽象方法只能在子类中实现。 4、抽象类中可以拥有实

2015-07-07 17:40:28 718

原创 JAVA多态学习2

好啦,这里紧接着上次没说的向下转型,请读者结合上次讨论的向上转型的例子一起探讨(其实本次代码也有加上,放心)。我们这里希望从向下转型会出现的两种基本情况进行探讨package downcasting;//动物类Animal父类class Animal{ String name; int age; public String getName() { retur

2015-07-07 16:59:34 593

原创 JAVA多态学习1

多态–概念 所谓多态,就是指一个引用(类型)在不同情况下的多种状态。也可以理解成:多态是指通过指向父类的指针,来调用在不同子类中实现的方法。 实现多态有两种方式:1、继承;2、接口这一次我们先来演示一下: 继承、方法覆盖、多态以及向上转型的内容package polimorphic;public class Polimorphic { public static void main(S

2015-07-07 15:55:10 680

原创 AVL树的初步生成与插入操作

平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。构造与调整方法 平衡二叉树的常用算法有红黑树、AVL、Treap等。 最小二叉平衡树的节点的公式如下 F(n)=F(n-1)+F(n-2)+1 这个类似于一个递归的数列,可以参考Fibonacci数列

2015-07-02 17:05:16 3555

原创 斐波那契查找(超详解)

// 斐波那契查找.cpp #include <iostream> #include <string.h> using namespace std; const int max_size=20;//斐波那契数组的长度 /*构造一个斐波那契数组*/ void Fibonacci(int * F) { F[0]=0;

2015-06-20 19:10:28 940 2

原创 typedef和define的一些区别

#include <stdio.h>#define PINT int*typedef int* pint;/*以下实验说明了:(1)typedef int* pint; const pint p1=&i1 的效果是和下面的一样的 int* const p1; 这里的const锁住的是(p1),所以p1=&i2都是错的,因为这里内存地址p1已经被const锁住

2015-06-20 19:05:21 696

翻译 计算机综述(computer overview)

计算机英语,计算机综述

2015-06-20 18:57:46 1496

原创 约瑟夫问题求解算法的设计与实现

一、实验内容 约瑟夫(Joseph)问题的一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。 二、实验目的 掌握

2015-06-15 09:05:45 3308 1

转载 C++精确计算代码执行时间精度微秒级

转自:博客园, 作者:薛定谔的猫 http://www.cnblogs.com/liuhao2638/archive/2012/11/13/2768785.html精确计算代码执行时间精确测量一段代码的执行时间1.LARGE_INTERGER类型LARGE_INTERGER是union类型,用于表示一8个字节的有符号整数,定义如下:typedef union _LARGE_INTERGER{

2015-06-14 11:52:43 4222

原创 内部排序算法比较(超详解)

一、题目描述 通过随机数据比较各排序算法的关键字比较次数和关键字移动次数,以 及执行时间,取得直观感受。 二、设计要求一、需求分析 实现各排序算法,分别进行以下各组比较,并进行总结。 一、各算法在不同规模下的比较。 1)比较范围:直接插入排序、冒泡法排序、简单选择排序、快速排序1(自己实现)、快速排序2(调用STL)、归并排序。 2)比较指标:a)关键字操作次数(比较次数和移动次数

2015-06-14 11:42:42 16102

转载 C++函数的返回值问题(2)- C++ 引用的作用和用法

原址:http://www.cnblogs.com/xiaofengkang/archive/2011/05/16/2048262.htmlC++ 引用的作用和用法我的总结:引用的好处之一就是在函数调用时在内存中不会生成副本。引用总结(1)在引用的使用中,单纯给某个变量取个别名是毫无意义的,引用的目的主要用于在函数参数传递中,解决大块数据或对象的传递效率和空间不如意的问题。(2)用引用传递函数的

2015-06-07 15:36:34 606

转载 C++函数的返回值问题(1)——返回引用类型&非引用类型

原址:http://www.cnblogs.com/fly1988happy/archive/2011/12/14/2286908.html函数的返回主要分为以下几种情况:1、主函数main的返回值:允许主函数main没有返回值就可结束;可将主函数main返回的值视为状态指示器,返回0表示程序运行成功,其他大部分返回值则表示失败。2、返回非引用类型:函数的返回值用于初始化在调用函数时创建的临时

2015-06-07 15:22:25 592

转载 http的持久连接和非持久连接区别

HTTP 协议概要 非持久连接 “非持久连接”的概念某网页由最基本的 HTML 和10个JPEG 图像构成,10个JPEG 图像文件存放在同一台服务器中。设这个网页的URL为www.server.com/somepath/index.html。如果用户请求该网页并采用“非持久连接”,那么在HTTP 客户(通常是用户浏览器)和服务器之间将发生以下操作:1.  HTTP 客

2015-06-06 20:30:56 9901

转载 图文例解C++类的多重继承与虚拟继承

原址: http://pcedu.pconline.com.cn/empolder/gj/c/0503/579115_all.html#content_page_1 在过去的学习中,我们始终接触的单个类的继承,但是在现实生活中,一些新事物往往会拥有两个或者两个以上事物的属性,为了解决这个问题,C++引入了多重继承的概念,C++允许为一个派生类指定多个基类,这样的继承结构被称做多重继承。  举个例子

2015-06-05 16:06:27 546

原创 operator和&operator

// operator和&operator !#include <iostream> using namespace std; //声明class Point;Point operator-(Point &a,Point &b);Point &operator+(Point &a,Point &b);//定义点类class Point { public: int

2015-06-05 15:49:53 1144

转载 内部类作用

一、 定义 放在一个类的内部的类我们就叫内部类。 二、 作用 1.内部类可以很好的实现隐藏 一般的非内部类,是不允许有 private 与protected权限的,但内部类可以 2.内部类拥有外围类的所有元素的访问权限 3.可是实现多重继承 4.可以避免修改接口而实现同一个类中两种同名方法的调用。 三、 例子 1.实现隐藏 平时我们对类的访问权限,都是通过类前面的访

2015-06-05 14:57:25 405

转载 java定义在局部的内部类、匿名内部类 (接《c++与java嵌套类比较》)

原址:http://blog.csdn.net/a450828540/article/details/9045067上文只简单说了java中的内部类常用方式,这里再介绍下一些特殊情况:定义在局部的内部类,匿名内部类定义在局部的内部类:[cpp] view plaincopy//java,不访问局部变量的局部内部类    class

2015-06-05 10:01:09 437

转载 c++与java在嵌套类方面的比较

原址:http://blog.csdn.net/a450828540/article/details/8993160c++与java都允许类的嵌套,不过在机制和使用方法上还是有较大不同的一、C++的嵌套类C++的嵌套类可以在封装类的私有、公有、保护部分定义,当然这些访问控制也做用于嵌套类上。虽然嵌套类在封装类内部定义,但它是一个独立的类,基本上与封装类不相关。它的成

2015-06-05 10:01:00 406 1

转载 深入理解java多态性

原址:http://blog.csdn.net/thinkghoster/article/details/2307001(一)相关类class A ...{         public String show(D obj)...{                return ("A and D");         }          public String

2015-06-04 19:29:28 336

转载 组合、继承和代理三者的定义

组合、继承和代理三者的定义:组合:在新类中new 另外一个类的对象,以添加该对象的特性。继承:从基类继承得到子类,获得基类的特性。代理:在代理类中创建某功能的类,调用类的一些方法以获得该类的部分特性。使用场合:组合:各部件之间没什么关系,只需要组合即可。like组装电脑,需要new CPU(),new RAM(),new Disk()……  演示代码如下:   public class C

2015-06-04 18:03:17 613

转载 Java向前引用容易出错的地方

原址:http://www.cnblogs.com/nokiaguy/p/3156357.html所谓向前引用,就是在定义类、接口、方法、变量之前使用它们,例如,class MyClass { void method() { System.out.println(myvar); } String myvar

2015-06-04 10:11:12 390

转载 二叉排序树详解

原址:http://www.cnblogs.com/zhuyf87/archive/2012/11/09/2763113.html二叉排序树又称“二叉查找树”、“二叉搜索树”。二叉排序树:或者是一棵空树,或者是具有下列性质的二叉树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉排序树。二叉

2015-06-01 21:20:00 728

原创 插值查找详解

//插值查找/*插值查找在实际使用时,一般要满足两个假设条件:(1)每一次对数据的访问与通常的指令相比,费用都是相当昂贵的。例如,待查找的表一定是在磁盘而非内存中,因而每一次比较都要进行磁盘访问。(2)数据不仅是已被排好序的,而且呈现均匀分布特征。这种插值查找对表长较大的顺序表,其平均性能比折半查找好。*/#include<iostream>#include<stdio.h>using

2015-06-01 20:49:28 1043

原创 斐波那契查找(超详解)

// 斐波那契查找.cpp        #include      #include     using namespace std;            const int max_size=20;//斐波那契数组的长度            /*构造一个斐波那契数组*/   void Fibonacci(int * F)  {          F

2015-06-01 17:13:49 1010

原创 折半查找法的递归和非递归形式

/*1、折半查找的查找过程是:先确定待查记录所在区间,然后逐步缩小范围至到找到或者找不到该记录为止。2、折半查找的性能分析可以由判定树得出,折半查找在查找成功时给定值进行比较的关键字个数至多为⌊log_2 ⌋

2015-06-01 11:30:15 4519

原创 图的邻接表存储和基本操作

书本当然是严奶奶的那本《数据结构(C语言版)》参考代码:《数据结构》算法实现及解析(高一凡)本文主要还是对这两位大神的东西整理一下,其实哈哈,还是代码的搬运工(逃)/*****************图的邻接表存储表示***************************************制作人:Guosam'*************************

2015-06-01 11:03:15 3185

原创 图的数组(邻接矩阵)存储结构和基本操作

书本当然是严奶奶的那本《数据结构(C语言版)》参考代码:《数据结构》算法实现及解析(高一凡)本文主要还是对这两位大神的东西整理一下,其实哈哈,还是代码的搬运工(逃)/*****************图的数组(邻接矩阵)存储表示***************************************制作人:Guosam*********************

2015-06-01 11:00:09 1506

原创 线性单链表的存储及基本操作(整理)

教科书:严奶奶的《数据结构(C语言版)》参考代码:高一凡的《数据结构》算法实现和解析/*****************线性链表的单链表存储结构*********************************制作人:Guosam******************************************时间:2015/5/20*******************

2015-06-01 10:56:35 604

原创 线性表存储和操作

书本当然是严奶奶的那本《数据结构(C语言版)》参考代码:《数据结构》算法实现及解析(高一凡)本文主要还是对这两位大神的东西整理一下,其实哈哈,还是代码的搬运工(逃)/***********线性表的动态分配顺序存储结构*********** ******制作人:Guosam   ********* *****日期:2015/5/20   *********/

2015-06-01 10:47:24 414

转载 STL容器 初步简介

原址:http://www.cnblogs.com/newpanderking/p/3888568.html在stl中容器分为两大类,序列式容器和关联式容器。序列式容器:array、vector、heap、priority-queue、list、slist、deque、(stack、queue)最后两个是配接器关联式容器:RB-tree、set、map、multiset

2015-06-01 10:02:24 352

转载 内联函数的好处?非内联函数被调用的过程是怎么样的?

原址:http://blog.csdn.net/zevin/article/details/7390419非内联函数调用的过程:调用函数实际上将程序执行顺序转移到函数(转移到存放该函数的内存中某个地址),将函数的程序内容执行完后,再返回到转去执行该函数前的地方。引入内联函数的目的是为了解决程序中函数调用的效率问题。  函数是一种更高级的抽象。它的引入使得编程者

2015-05-31 17:45:41 819

转载 重载,覆盖与隐藏

原址:http://blog.csdn.net/zzj1881/article/details/7928346成员函数被重载的特征:(1)相同的范围(在同一个类中); (2)函数名字相同; (3)参数不同;(4)virtual 关键字可有可无。隐藏与重载的区别:(1)不同的范围(2)函数名相同(3)参数不同(4)virtual 关键字可有可无

2015-05-31 17:27:34 351

原创 char a[]与char *的一些补充实验

#include#includeusing namespace std;int main(void){    char a[] ="hello";    //位于栈中,可以修改,不过因为stack分配好了,后面如果加上其他字符串最后会发生stack corrupted(堆栈损坏,分配不够)    //char a[20]="hello";   //分配好大小,堆栈足够大的话

2015-05-31 16:50:45 339

原创 数组的极限大小

今晚在图书馆,有点无聊,就和数组最大值给犟上了~~~~~~~~~~~~~~~~~~~~平台:vs2012/g++(windows版)内存:4GB系统:64位win7旗舰版源代码:#include#includeusing namespace std;int main(void){    char* p = new char[1024*1024

2015-05-30 21:35:01 1718

转载 sizeof和sizeof(string)的问题

原址:http://www.cnblogs.com/wanghetao/archive/2012/04/04/2431760.htmlsizeof和sizeof(string)的问题今天看《程序员面试宝典》一书(为了应付将要到来的微软笔试),看到了sizeof(string)这个问题。在Dev C++上测试的结果是4,很不明白。上网搜了一下,得到如下结果:string st

2015-05-30 19:15:46 347

原创 char[]数组名与指针,以及字符串数组与string的一些比较

1、数组名sizeof 得到的结果是数组长度+1,因为后面加上‘\0’; 2、string类型在vs2012中占用28个字节,在g++等一般编译器中占用4个字节 3、strlen()得到的就是真正的字符串长度,当然是没算上结束符‘\0’的; 4、s.length()得到的是真正的string字符串长度; 5、什么类型的指针都是占用四个字节,不论是int还是double抑或是什么东东。 6、全局的std::getline返回std::str

2015-05-30 17:16:04 1213

转载 利用typedef定义函数指针

原址:http://www.cnblogs.com/tziyachi/archive/2012/02/16/2353661.html进入正文: 代码简化, 促进跨平台开发的目的. typedef 行为有点像 #define 宏,用其实际类型替代同义字。 不同点:typedef 在编译时被解释,因此让编译器来应付超越预处理器能力的文本替换。用法一:typedef

2015-05-30 11:24:15 420

转载 指针函数与函数指针的区别

原址:http://www.cnblogs.com/gmh915/archive/2010/06/11/1756067.html一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针     类型标识符    *函数名

2015-05-30 09:34:18 331

内部排序算法比较

一、各算法在不同规模下的比较。 1)比较范围:直接插入排序、冒泡法排序、简单选择排序、快速排序1(自己实现)、快速排序2(调用STL)、归并排序。 2)比较指标:a)关键字操作次数(比较次数和移动次数之和),b)排序时间。每个指标采用多次重复取平均数记录,重复次数不小于100。注:1次关键字对换按3次移动计算。 3)数据规模:分别为50,100,500,1000,5000,10000; 4)数据类型:随机数据 二、算法在不同数据类型下的比较 1)比较范围:直接插入排序、冒泡法排序、简单选择排序、快速排序1(自己实现)、快速排序2(调用STL)、归并排序。 2)比较指标:a)关键字操作次数(比较次数和移动次数之和),b)排序时间。每个指标采用多次重复取平均数记录,重复次数不小于100。注:1次关键字对换按3次移动计算。 3)数据规模:10000; 4)数据类型:随机数据、正序数据、逆序数据;

2015-06-14

空空如也

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

TA关注的人

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