月度归档:2014 年九月

判断输入的一个非负的正整数,其是否是2的幂



判断输入的一个非负的正整数,其是否是2的幂,

/**
判断输入的一个非负的正整数,其是否是2的幂
*/

#include <iostream>
#include <stdlib.h>
#include <math.h>
using names[......]

Read more

C++中const用法总结



C++中const用法总结,

const修饰普通变量和指针

const修饰变量,一般有两种写法:

const TYPE value;

TYPE const value;

这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。[......]

Read more

动态规划算法理论阐述及一个小实例

动态规划算法理论阐述及一个小实例,

动态规划问题:用来解决最优化问题

基本概念:将一个问题,分解成多个阶段来解决,每一个阶段的决策都依赖于当前的状态,决策过后状态又发生了转移,这种多阶段来解决最优化问题的过程就是动态规划。

基本思想与策略:基本思想与分治法类似,也是将带求解的问题分[......]

Read more

c++楼层扔鸡蛋问题

楼层扔鸡蛋问题,

有限层数和蛋数,求即使最坏情况下需要的最少判断次数

两个软硬程度一样但未知的鸡蛋,它们有可能都在一楼就摔碎,也可能从一百层楼摔下来没事。有座100层的建筑,要你用这两个鸡蛋确定哪一层是鸡蛋可以安全落下的最高位置。可以摔碎两个鸡蛋。(参见两个鸡蛋–一道Google面试题[......]

Read more

动态内存分区分配方式模拟

动态内存分区分配方式模拟,

百度面试题:

给定一块内存,大小为1M,现有一些内存请求序列1K、2K、4K、10K……..

要求模拟实现new/delete内存分配过程。

 

对应题目如下:

假设初始态下,可用内存空间为640K,并有下列请求序列,[......]

Read more

如何处理散列冲突

如何处理散列冲突,散列表中散列冲突是一种必然,既然不能回避他,我们应该怎么处理散列冲突呢?

1、开放寻址法

根据探查序列的不同分为:线性探查、二次探查、以及双重探查

2、再次Hash法

当出现hash冲突时,使用第二个、第三个等等hash函数来计算下一个位置,但是这样的计算时[......]

Read more

Window中虚拟地址与物理地址之间的转化

Window中虚拟地址与物理地址之间的转化,

如上所述,在确保访问的数据已在物理内存中后,还需要先将虚拟地址转换为物理地址,即”地址映射”,才能够真正访问此数据。本节讲述Win32中虚拟内存管理器如何将虚拟地址映射为物理地址。

Win32通过一个两层表结构来实现地址映射,因为4 GB虚拟[......]

Read more