- 浏览: 161062 次
- 性别:
- 来自: 深圳
最新评论
-
l0979365428:
给楼主补充个图片就完美了~
信息增益与熵
文章列表
1,你是否对软件开发有浓厚的兴趣?
如果缺乏对软件开发的浓厚兴趣,只是单纯想earn high salary或这个行业淘金,你会很快离开软件开发这一职业。因为软件开发是一项高强度的脑力工作,缺乏足够的兴趣,你终究会忍受不了这项枯燥的工作。
2,你是否有极强的学习能力、学习兴趣和良好的英语阅读能力?
除了有对软件开发浓厚的兴趣外,你还需要有极强的学习能力和学习兴趣。软件开发技术更新很快,日新月异,因为这里积聚一些天才,不断地推成出新。软件开发职业更好地体现了:长江后浪推前浪,前浪死在沙滩上。要摆脱死在沙滩上的命运,你需要不断汲取新的知识,更新旧的知识。
另外,新的技术往往 ...
第一组1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问?5.12个球一个天平,现知道只有一个和 ...
C++不能被继承的类
- 博客分类:
- 笔试面试
一个类不能被继承,也就是说它的子类不能构造父类,这样子类就没有办法实例化整个子类从而实现子类无法继承父类。我们可以将一个类的构造函数声明为私有,使得这个类的构造函数对子类不可见,那么这个类也就不能继 ...
解法一:左右括号成一对则抵消
可以将左括号看成1右括号看成 -1,然后对8个数进行全排列
对每个排列判断,是否符合条件,逐个相加,sum>=0直到遍历完该序列,
符合条件则count++
如果出现sum<0则失败
解法二:采用八位
/********************************************************************
created: 2005/12/30
created: 30:12:2005 10:39
filename: bintree.h
author: Liu Qi
purpose: 二叉树的3种遍历方式(包括非递归实现),前序,后序和中序,先访问根节点就是
前序(部分书籍称为先根遍历,个人觉得该说法更好^_^),类似的,最后访问根节点就是后序
...
堆:(二叉)堆数据结构是一种数组对象。它可以被视为一棵完全二叉树,树中每个结点与数组中存放该结点值的那个元素对应。
二叉堆有两种:最大堆和最小堆(小根堆)。
最大堆:所有节点的子节点比其自身小的堆。最小堆:所有节点的子节点比其自身大的堆。
堆排序:堆排序利用了大根堆(或小根堆)堆顶记录的关键字最大(或最小)这一特征,使得在当前无序区中选取最大(或最小)关键字的记录变得简单
在堆排序算法中,使用的是最大堆,最小堆通常在构造优先级队列时使用。
再次提醒大家,去看看《算法导论》里的第六章-堆排序。因为书上讲的太详细了,所以我也就不再多说。
#include <iostream>
using namespace std;
class Pet //基类
{ public:
virtual void Speak() { cout<<"How does a pet speak ?"<<endl; }
};
class Cat : public Pet //派生类
{public:
void Speak() { cout<<"miao!miao!"<<endl; }
};
class Dog : pub ...
Realloc的使用
- 博客分类:
- C系列
realloc 用过很多次了。无非就是将已经存在的一块内存扩大。
char* p = malloc(1024);char* q = realloc(p,2048);
现在的问题是我们应该如何处理指针 p。 刚开始按照我最直观的理解,如果就是直接将 p = NULL;。 到最后只需要释放 q的空间就 ...
static变量与static函数(转)
- 博客分类:
- 笔试面试
一、 static 变量
static变量大致分为三种用法1. 用于局部变量中,成为静态局部变量. 静态局部变量有两个用法,记忆功能和全局生存期. 2. 用于全局变量,主要作用是限制此全局变量被其他的文件调用. 3. 用于类中的成员.表示这个成员是属于这个类但是不属于类中任意特定对象
1. 静态局部变量静态局部变量属于静态存储方式,它具有以下特点:(1)静态局部变量在函数内定义 它的生存期为整个源程序,但是其作用域仍与自动变量相同,只能在定义该变量的函数内使用该变量。退出该函数后, 尽管该变量还继续存在,但不能使用它。
(2)允许对构造类静态局部量赋初值 例如数组,若未赋以初 ...
不用sizeof判断16位32位
- 博客分类:
- 笔试面试
用C++写个程序,如何判断一个操作系统是16位还是32位的?不能用sizeof()函数?(不用sizeof()函数求当前主机上的一个int占用几个字节)
方法一:
16位的系统下,
int i = 65536;
cout << i; // 输出0;//装不下,最高位溢出,剩下16位的当然是0;
int i = 65535;
cout << i; // 输出-1;//-1的补码是65535
而32位的系统下:
int i = 65536;
cout << i; // 输出65536;
int i = ...
找出连续最长的数字串(百度面试)
- 博客分类:
- 笔试面试
int maxContinuNum(const char*inputstr.char*outputstr)功能: 在以‘\0’结尾的字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参
数outputstr所指内存。不能用strlen之类的库函数。
#include<iostream>
#include<assert.h>
using namespace std;
bool isdigital(char p){
if(p>='0'&&p<='9')
return true; ...
extern C的由来
- 博客分类:
- C系列
时常在cpp的代码之中看到这样的代码:
#ifdef __cplusplus extern "C" { #endif
//一段代码
#ifdef __cplusplus } #endif
这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代码,也就是说,上面的代码的含义是:如果这是一段cpp的代码,那么加入extern "C"{和}处理其中的代码。
要明白为何使用extern "C",还得从cpp中对函数的重载处理开始说起。在c++中,为 ...
顺序栈:话不多说直接上代码
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
using namespace std;
const int maxsize=50;
//注意节点的内容即可
typedef struct {
int data[maxsize];
int top;
}stack;
//初始化
void initStack(stack* p){
p->top=-1;
}
//判 ...
队列的数组实现和链表实现
- 博客分类:
- 笔试面试
话不多少,数组实现上代码:
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
using namespace std;
const int maxsize=10;
//循环队列的结构体
typedef struct{
int data[maxsize];
int front;//队列头
int rear;//队列尾
}sequeue;
sequeue *sq=new sequeue;//定义全局指针并且分配内存
...
KMP算法:
是在一个“主文本字符串” S 内查找一个“词” W
的出现,通过观察发现,在不匹配发生的时候这个词自身包含足够的信息来确定下一个匹配将在哪里开始,以此避免对以前匹配过的字符重新检查。
常规的比较方法: KMP方法:
被查找串:a b c a b c a b d a b b 被查找串:a b c a b c a b d a b b
模式串:a b ...