自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

飘过的小牛

I'm growing!~~

  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 C语言——第六章

一.变量存储空间的分类顺序先声明的变量后分配存储空间;撤销的顺序与之相反:先建立的后撤销。这种机制就称为栈机制,好像往一个只能允许进出一个盘子的桶里放盘子,先放进的后拿出。在C语言程序中,局部变量就被分配在栈区,而且是以高端为栈底建立的。所以后建变量的地址较小。每个变量只有一个地址,但占用的空间不同二.一个指针所指连变量的类型,称为该指针的基类型。三.指

2012-02-29 09:10:40 1137

转载 一位Acmer过来人的经验

很多ACMer入门的时候,都被告知:要多做题,做个500多道就变牛了。其实,这既不是充分条件、也不会是必要条件。       我觉得一般情况下,对于我们普通学校的大学生,各方面能力的差距不会太大,在这种情况下,训练和学习的方法尤为重要。       其实,500题仅仅是一个标志,而且仅仅表示你做ACM-ICPC有一定的时间,       我们训练的目的是什么?我觉得有四点

2012-02-28 13:05:26 1971

原创 itoa函数实现

自己随便写的,实现了最基本的itoa功能。/*将整形数字转换为字符串*/char *itoa(int num) //没考虑负数{ int len, temp; char *res; len = 0; temp = num; while(temp != 0) { len++; temp /= 10; } res = (char *)malloc(sizeof

2012-02-27 11:18:36 1627

转载 经典笔试题目分析

1、   用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)    #define  SECONDS_PER_YEAR  (60 * 60 * 24 * 365)UL    1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)    2) 预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的

2012-02-27 10:22:36 1109

原创 C语言——第四章

一.程序进行编译时,并不为形式参数分配存储空间。只有在函数被调用时,形式参数才临时的占有存储空间,其过程如下:1.调用开始,系统为形参开辟一个临时存储区,形参与实参各占有一个独立的存储空间。2.然后将各实参之值传递给形参,这时形参就得到了实参的值。这种虚实结合方式称为“值结合”3.函数返回时,临时存储区也被撤销。要特别注意的是:函数中对形参变量的操作不会影响到调用函数中的实参变

2012-02-27 09:10:13 1714

原创 C语言——第三章

一.算术运算符都低于纯算术类运算符,高于赋值类运算符,并且它们结合方式都是从左到右的。例如:int x = 2, y = 3, z; z=3-1>=x+1这个表达式包括赋值、关系、算术三种运算。其中赋值运算的优先级最低,其次为关系运算,算术运算的优先级最高。因此,先进行算术运算,得:z=2>=3,然后计算2>=3,为0(假),得z=0,再计算0,其值为1(真),所以z的值为1.

2012-02-25 17:30:44 1551

原创 C语言——第二章

一.在内存中存储定点数时,一般以其最高位(最左边一位)表示数的符号,0表示正,1表示负。数值是以补码形式存放的。一个正数的补码就是该数的二进制数。一个负数的补码我们通过下面的方法求得:(1)先取该数的绝对值(2)然后以二进制数的形式存放(3)再对其取反(4)然后加1所有负数的二进制补码的最高位必然为1.显然,无符号的正数的最大值约为有符号的正数的最大值的两倍再加1(因为

2012-02-25 16:02:52 1653

原创 HDU-2544 最短路【最短路】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544最近复习了最短路径的算法,就写了4个版本的测试。正好是模板题,就果断A之。。。Dijkstar版本:#include#include#include#include#include#include#includeusing namespace std;#def

2012-02-25 09:31:02 4872 4

原创 C语言——第一章

一、高级语言程序的开发过程1.分析问题,建立模型2.表现模型3.源程序的编辑4.程序的编译(或翻译)与链接把用高级语言编写的程序称为源程序,把机器可以直接辨认并可执行的程序称为可执行程序(1).第一步在程序编辑过程中,所输入源文件中的是一些字符码,但是机器能够直接处理的是0、1信息。为此,首先要将源程序文件翻译成0、1码所表示的信息,应用相应的文件保存。这种保存0、1码

2012-02-24 10:02:10 1766

原创 C语言基础考察

下面程序的输出是什么?你是不是一眼就能看出来呢???考察C语言的基本功。1.#include#include#include#includeusing namespace std;int main(){ int a = 2, b = 7, c = 5; switch(a > 0) { case 1: switch(b < 0) { case 1 :

2012-02-23 16:24:50 2038

原创 快速排序

快速排序是分治策略的一个应用。算法思想就是基准元素的划分,这点可以参考书上的分析。主要给出快速排序算法的分析:快速排序算法的时间主要耗费在划分操作上,并与划分是否平衡密切相关。对于长度为n的待排序序列,一次划分算法Partition需要堆整个待排序序列扫描一遍,其所需要的计算时间显然为O(n)。下面从三种情况来讨论一下快速排序算法的时间复杂度。(1)最坏时间复杂度最坏情况是

2012-02-23 10:26:14 2170 3

原创 堆排序

参考文章有很多,推荐:http://www.wutianqi.com/?p=1820注:堆排序不是一种稳定排序。堆排序方法对记录数较稍等文件并不值得提倡,但对n较大的文件还是很有效的。因为其运行时间主要耗费在建初始堆和调整建新堆时进行的反复“筛选”上。对深度为k的堆,筛选算法中进行的关键字比较次数之多为2(k-1)次,则在建含n个元素,深度为h的堆时,总共进行的关键字比较次数不超过

2012-02-22 18:22:54 1985

原创 复制构造函数

也许很多C++的初学者都知道什么是构造函数,但是对复制构造函数(copy constructor)却还很陌生。对于我来说,在写代码的时候能用得上复制构造函数的机会并不多,不过这并不说明复制构造函数没什么用,其实复制构造函数能解决一些我们常常会忽略的问题。       为了说明复制构造函数作用,我先说说我们在编程时会遇到的一些问题。对于C++中的函数,我们应该很熟悉了,因为平常经常使用;对于类的

2012-02-21 21:45:47 1529

原创 辗转相除法证明+最小公倍数证明+其他相关证明

辗转相除算法的简介  在数论中,辗转相除法(国际上一般称为Euclidean Algorithm 或 Euclid's Algorithm,即欧几里得算法)是一种求任意两个欧几里得环(Euclidean Domain)中的单位(如:整数)的最大公约数的算法。这个算法的一个重要特点就是其不需要通过分解因式来求取最大公约数。辗转相除法正因为其易操作性与易实现性而成为了计算机编程中的一个重要的求最大

2012-02-21 09:24:19 8001 6

转载 Vim简明教程【CoolShell】

vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。——————————正文开始——————————你想以最快的速度学习人类

2012-02-20 12:22:56 285798 75

转载 递归趣文【Matrix67】

公认的递归(Recursion)的标准定义是非常难理解的:若一个对象部分地包含它自己,或用它自己给自己定义,则称这个对象是递归的;若一个过程直接地或间接地调用自己,则称这个过程是递归的过程。    递归一词很少有过专业的定义,因此本文不在于去解释上一段文字的意义。虽然概念抽象,但递归其本身是不难理解的。通过本文的介绍,读者不一定能深入了解递归,只要能通过具体的例子模模糊糊地知道一些递归的思想和

2012-02-15 15:37:10 3344 1

转载 什么是P问题、NP问题和NPC问题【Matrix67】

这或许是众多OIer最大的误区之一。    你会经常看到网上出现“这怎么做,这不是NP问题吗”、“这个只有搜了,这已经被证明是NP问题了”之类的话。你要知道,大多数人此时所说的NP问题其实都是指的NPC问题。他们没有搞清楚NP问题和NPC问题的概念。NP问题并不是那种“只有搜才行”的问题,NPC问题才是。好,行了,基本上这个误解已经被澄清了。下面的内容都是在讲什么是P问题,什么是NP问题,什么

2012-02-15 14:52:58 2473

原创 图灵停机问题(The Halting Problem)

不存在这样一个程序(算法),它能够计算任何程序(算法)在给定输入上是否会结束(停机)。那么,如何来证明这个停机问题呢?反证!假设我们某一天真做出了这么一个极度聪明的万能算法(就叫God_algo吧),你只要给它一段程序(二进制描述),再给它这段程序的输入,它就能告诉你这段程序在这个输入上会不会结束(停机),我们来编写一下我们的这个算法吧:bool God_algo(char*

2012-02-15 13:45:31 29200 4

原创 十道思想难题

10.电车难题(The Trolley Problem)“电车难题”要数伦理学领域最为知名的思想实验之一,其内容大致是:一个疯子把五个无辜的人绑在电车轨道上。一辆失控的电车朝他们驶来,并且片刻后就要碾压到他们。幸运的是,你可以拉一个拉杆,让电车开到另一条轨道上。但是还有一个问题,那个疯子在那另一条轨道上也绑了一个人。考虑以上状况,你应该拉拉杆吗?解读:电车难题最早是由哲学家

2012-02-04 22:24:00 2008

空空如也

空空如也

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

TA关注的人

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