自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我的读书笔记(2011-2013)

我的新博客:http://blog.csdn.net/winstonwolfe

  • 博客(261)
  • 资源 (4)
  • 收藏
  • 关注

原创 Google Android 文档笔记-Training-Getting started [5]

2013-7-15Sharing ContentSending Content to Other AppsTo send data to another activity, all you need to do is specify the data and its type, the system will identify compatible receiving activiti

2013-07-23 10:37:46 1114

原创 Google Android 文档笔记-Training-Getting started [4]

2013-7-14Saving Data in SQL DatabasesDefine a Schema and Contractthe schema: a formal declaration of how the database is organized. The schema is reflected in the SQL statements that you use to 

2013-07-23 10:36:47 1184

原创 Google Android 文档笔记-Training-Getting started [3]

2013-7-13Building a Dynamic UI with FragmentsUsing the Support LibraryThe Android Support Library provides a JAR file with an API library that allows you to use some of the more recent Android A

2013-07-23 10:36:06 901

原创 Google Android 文档笔记-Training-Getting started [2]

2013-7-12Make the Input Box Fill in the Screen WidthYou can do this inside a LinearLayout with the weight property, which you can specify using the android:layout_weight attribute. if you give one

2013-07-23 10:35:36 970

原创 Google Android 文档笔记-Training-Getting started [1]

2013-7-11Create a Project with Command Line ToolsChange directories into the Android SDK’s tools/ path.android list targetsThis prints a list of the available Android platforms that you’ve dow

2013-07-23 10:34:04 896

原创 现在共有13个球,这批球重有一个球的质量和其它球的质量不同(轻重未知)。给你一个天平,至多只有三次的称量机会,怎样将那个质量不一样的球找出来?

现在共有13个球,这批球重有一个球的质量和其它球的质量不同(轻重未知)。给你一个天平,至多只有三次的称量机会,怎样将那个质量不一样的球找出来?将13个球分为4球,4球,5球三组。(1)     第一次称两个4球组,若不想等,则5球组全是标准球。然后就可以用12球类似的方法解决。1.1 abcd轻。在efgh中取出fgh,替换掉abcd中的bcd。在ijkl中取出jkl,补充到原来fgh

2013-07-02 23:12:18 1442

原创 微软2013年笔试题详解及深入

Microsoft下面哪些调用转换支持可变长度参数:A. cdecl  B. stdcall  C. pascal  D. fastcall几种函数调用方式:         __cdecl 是C Declaration的缩写,表示C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除,称为手动清栈。被调用函数不会要求调用者传递多少参数,调用者传递过多或者过少的参

2013-07-02 23:07:51 1202

原创 设计队列容器的数据结构,使得返回最大元素的操作时间复杂度尽可能的低。

设计队列容器的数据结构,使得返回最大元素的操作时间复杂度尽可能的低。解法1:用传统方式来实现队列,采用一个数组或链表来存储队列的元素,利用两个指针分别指向队尾和队首。如果采用这种方法,那么取最大值的操作需要遍历队列的所有元素。时间复杂度为O(N);解法2:考虑用最大堆来维护队列中的元素。堆中每个元素都有指向它的后续元素的指针。这样,取最大值操作的时间复杂度为O(1),而入队和出队操作的时间

2013-07-01 09:16:57 1051

原创 计算字符串的相似度。

计算字符串的相似度。分析:两个字符串的距离肯定不超过它们的长度之和。考虑如何才能把这个问题转化成规模较小的同样的问题:如果两个串A和B的第一个字符是相同的,则只要计算A[2,…lenA]和B[2,…lenB]的距离就可以了。但是如果两个串的第一个字符不相同,那么进行如下操作:1.删除A串的第一个字符,然后计算A[2,…lenA]和B[1,…lenB]的距离;2.删除B串的第一个

2013-07-01 09:16:09 707

原创 求数组的子数组之和的最大值。

求数组的子数组之和的最大值。解法1:分治法,将所给数组A[0],…A[n-1]分为长度相等的两段数组A[0],…,A[n/2-1]和A[n/2],…,A[n-1],分别求出这两段数组各自的最大子段和,则原数组的最大子段和为以下三种情况的最大值:1. A[0],…A[n-1]的最大子段和与A[0],…,A[n/2-1]的最大子段和相同;2. A[0],…A[n-1]的最大子段和与A[n/

2013-07-01 09:15:34 970

原创 快速找出一个数组中的两个数字,其和等于给定值。

快速找出一个数组中的两个数字,其和等于给定值。解法1:穷举法,时间复杂度O(N);解法2:变通思路,对数组中的每个数字arr[i]都判别sum-arr[i]在不在数组中。这样就变通为一个查找算法。将数组排序,需要时间O(N*logN)。对于每个arr[i]用二分法查找sum-arr[i]的时间复杂度都为O(logN),总计N*O(logN)+ O(N*logN)= O(N*logN)。

2013-07-01 09:15:14 4137

原创 寻找数组中的最大值和最小值

寻找数组中的最大值和最小值解法1:遍历两次,分别求出最大值、最小值。需要比较2*N次。解法2:按顺序将数组中相邻的两个元素看成一组,遍历数组,调整每一组中两个元素的顺序,使大的数在偶数位上,小的数在奇数位上。然后分别从奇数位、偶数位上求出最大最小值,总的比较次数为1.5*N次。解法3:不破坏原数组,仍然将数组每相邻两位看成一组,定义两个变量min、max,遍历数组,相邻两位比较,然后得

2013-07-01 09:15:03 1611

原创 求最大公约数。考虑两个正整数都很大的情况。

求最大公约数。考虑两个正整数都很大的情况。欧几里得辗转相除法求最大公约数:两个整数的最大公约数等于其中较小的数和两数的差的最大公约数。如:f(42,30) = f(30,12) = f(12,18) = f(12,6) = f(6,6) = f(6,0)即:f(x,y) = f(y, x%y)  (x >= y > 0) 或f(x,y)=f(x-y, y).解法1:直接用代码来实现

2013-07-01 09:14:20 667

原创 寻找最大的K个数

寻找最大的K个数解法1:在元素数量不大的情况下,采用快排或者堆排序对所有元素排序,取前K个,时间复杂度为O( N*logN )+O( K )= O( N*logN ); 采用部分排序算法,如选择排序或交换排序,把N个数中的前K个数排序出来,复杂度为O( N*K ); 具体选择取决于K与logN的大小。解法2:按照快速排序的思路,假设N个数存储在数组S中,从数组S中随机找出一个元素X,把数组

2013-07-01 09:14:11 738

原创 寻找发帖“水王”:由水王ID所发的帖子数超过了总帖子数的一半。

寻找发帖“水王”:由水王ID所发的帖子数超过了总帖子数的一半。最直接的方法,先对所有ID排序,再统计各个ID出现的次数。如果某个ID出现次数超过总数的一半,那么就输出这个ID。这个算法的时间复杂度为O( N*logN + N ) .如果ID列表已经是有序的,也可以不用扫描统计各个ID的出现次数。如果一个ID出现的次数超过总数N的一半,那么无论水王的ID是什么,这个有序的ID列表的第N/2项

2013-07-01 09:12:22 1113

原创 求二进制数中1的个数。

求二进制数中1的个数。解法1:对于二进制操作,除以一个2,如果除的过程中有余,那么就表示当前位置有一个1。考虑利用整型数据除法的特点,通过相除和判断余数的值来分析。int Count ( BYTE v ){int num = 0;while(v){if(v%2 == 1)num++;v = v/2;}return num;}解法2:对解法1进行改

2013-07-01 09:11:56 1011

原创 PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?

PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?答:主要特点:(1) 点对点协议,既支持异步链路,也支持同步链路。(2) PPP是面向字节的。PPP不采用序号和确认机制是出于以下的考虑:第一, 若使用能够实现可靠传输的数据链路层协议(如HDLC),开销就要增大。在数据链路层出现差错的概率不大时,使用比较简单的PPP协议较为合理。第二, 在因特网

2013-07-01 09:09:37 76386 1

原创 Linux编程:创建一个只包含两个函数的小型静态函数库

Linux编程:创建一个只包含两个函数的小型静态函数库库文件的名字总是以lib开头,随后的部分指明这是什么库(如c代表C语言库,m代表数学库)文件名的最后部分以.开始,然后给出库文件的类型:.a代表传统的静态函数库.so代表共享函数库可以通过给出完整的库文件路径名或用-l标志来告诉编译器要搜索的库文件:$ gcc –o fred fred.c /usr/lib/libm.a 或

2013-07-01 09:09:01 949

原创 VC++中进程间相互通信的十一种方法

VC++中进程间相互通信的十一种方法1、剪贴板Clipboard: 在16位时代常使用的方式,CWnd中提供支持 2、窗口消息 标准的Windows消息以及专用的WM_COPYDATA消息 SENDMESSAGE()接收端必须有一个窗口3、使用共享内存方式(Shared Memory)a.设定一块共享内存区域   b.找出共享内存  c.同步处理(Mutex)  d.清

2013-07-01 09:08:51 899

原创 请在小于99999的正整数中找符合下列条件的数,它既是完全平方数,又有两位数字相同,如:144,676。

题目:请在小于99999的正整数中找符合下列条件的数,它既是完全平方数,又有两位数字相同,如:144,676。用c语言编写(不能用数字转换成字符串)。#include#include//函数havesamenum确认num是否满足条件int havesamenum(int num){  int i=0,j;  char a[10] = {0};   while(

2013-07-01 09:08:12 3685

原创 编写strcat函数

编写strcat函数已知strcat函数的原型是char *strcat (char *strDest, const char *strSrc);其中strDest 是目的字符串,strSrc 是源字符串。(1)不调用C++/C 的字符串库函数,请编写函数 strcat答:VC源码:char * __cdecl strcat (char * dst, const char

2013-07-01 09:07:14 1338 1

原创 C/C++数组名与指针区别

C/C++数组名与指针区别1)数组名的内涵在于其指代实体是一种数据结构,这种数据结构就是数组;2)数组名的外延在于其可以转换为指向其指代实体的指针,而且是一个指针常量;3)指向数组的指针则是另外一种变量类型(在WIN32平台下,长度为4),仅仅意味着数组的存放地址!4)数组名作为函数形参时,在函数体内,其失去了本身的内涵,仅仅只是一个指针;在失去其内涵的同时,它还失去了其常量特性,

2013-07-01 09:06:53 585

原创 字符串常量存放在静态存储区

字符串常量存放在静态存储区例:char str1[] = "abc";char str2[] = "abc";const char str3[] = "abc";const char str4[] = "abc";const char *str5 = "abc";const char *str6 = "abc";char *str7 = "abc";char *

2013-07-01 09:06:43 1016

原创 某32位系统下, C++程序,请计算sizeof 的值.

某32位系统下, C++程序,请计算sizeof 的值.void Foo_1 ( char str[100]){cout}  char str_1[] = "abcdef"; cout加了一个‘\0’ char *str_2 = "abcdef"; coutchar str_3[] = {'a','b','c','d','e','f'}; cout

2013-07-01 09:06:05 3389

原创 对于一个有序(升序排列)的数组a,查找所有比i(i不在a中)大的数,请写出关键代码

对于一个有序(升序排列)的数组a,查找所有比i(i不在a中)大的数,请写出关键代码public class FindGreater{public static void main(String[] args) {int[] a = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};int i = 18;int st

2013-07-01 09:05:14 880

原创 数轴上从左到右有n个点a[0],a[1]…,a[n-1],给定一根长度为L的绳子,求绳子最多能覆盖其中的几个点。要求算法复杂度为o(n)。

数轴上从左到右有n个点a[0],a[1]…,a[n-1],给定一根长度为L的绳子,求绳子最多能覆盖其中的几个点。要求算法复杂度为o(n)。void maxCover(int* a, int n, int l) {   int maxCover = 1;   int beginPos = 0, endPos = 1;   while (endPos        if (a[en

2013-07-01 09:04:29 2427

原创 异或操作总结

异或操作总结1 ^ 0 = 10 ^ 1 = 10 ^ 0 = 01 ^ 1 = 00 ^ a = a代码验证:int a = 123, b = 456;a ^ b = 435;a ^ b ^ a = 456 ( b )a ^ b ^ b = 123 ( a )应用:不用临时变量交换两值:a = a ^ bb = b ^ a a = a ^

2013-07-01 09:03:20 820

原创 在一个有序数组中,有些元素重复出现。输入一个数值,求此值在数组中重复的次数

在一个有序数组中,有些元素重复出现。输入一个数值,求此值在数组中重复的次数思路有两种:1.      upperbound() – lowerbound()2.      使用类似线段树的思想直接统计iterator lower_bound( const key_type &key ):返回一个迭代器,指向键值>= key的第一个元素。iterator upper_boun

2013-07-01 00:26:06 1489 1

原创 给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数。1.   最基本的算法是,从小到大遍历:for (i = 2 to A -1)         if (i * B > A)               商 = i -1; 余数 = A – (i-1)*B;2.   较好的算法是采用2分法,查找[2, A]中满足尚的解。3.   更好的算法是采用位操作的思想来

2013-07-01 00:25:57 10550

原创 用位运算求给定整数的二进制表示中1的个数

用位运算求给定整数的二进制表示中1的个数考虑到n-1会把n的二进制表示中最低位的1置0并把其后的所有0置1,同时不改变此位置前的所有位,那么n&(n-1)即可消除这个最低位的1。这样便有了比顺序枚举所有位更快的算法:循环消除最低位的1,循环次数即所求1的个数。此算法的时间复杂度为O(n的二进制表示中的1的个数),最坏情况下的复杂度O(n的二进制表示的总位数)。//计算n的二进制表示中1的个

2013-07-01 00:25:37 751

原创 用位运算判定给定的整数是不是2的整数次幂

用位运算判定给定的整数是不是2的整数次幂利用最高位是1,其后所有位为0的特性,常数时间解决问题://判断n是否是2的正整数冪boolis_2exp(unsigned int n){     return !(n&(n-1));}

2013-07-01 00:25:18 707

原创 请实现两棵树是否相等的比较,相等返回0,否则返回其他值,并说明算法复杂度。

请实现两棵树是否相等的比较,相等返回0,否则返回其他值,并说明算法复杂度。数据结构为:typedefstruct_TreeNode{    char c;    TreeNode *leftchild;    TreeNode *rightchild;}TreeNode;函数接口为:int CompTree(TreeNode*tree1,TreeNode* tree2)

2013-07-01 00:25:02 1713

原创 高字节低字节问题

高字节低字节问题Little-Endian:低位字节放在内存的低地址段;Big-Endian:高位字节放在内存的低地址段;问题1unsigned charendian[2] = {1, 0}; short x; x = *(short *)endian; 代码运行后,x的值是多少?问题2int i = 1;  if (*(char*)&i == 0)

2013-07-01 00:24:37 1557

原创 std::vector实现原理及特定场景下的改进

std::vector实现原理及特定场景下的改进1)      说一下std::vector的实现原理,主要讲一下和内存管理相关的内容。2)      常驻内存程序,一个std::vector的生命周期和程序生命周期相同,且会频繁的调用std::vector的push_back()和clear()方法,调用clear()方法时,vector.size()小于1万的概率为0.95,vecto

2013-07-01 00:24:18 1281

原创 strcpy,memcpy,sprintf的区别及前两个函数的实现

strcpy,memcpy,sprintf的区别及前两个函数的实现snprintf 函数操作的对象不限于字符串:虽然目的对象是字符串,但是源对象可以是字符串、也可以是任意基本类型的数据。这个函数主要用来实现(字符串或基本数据类型)向字符串的转换功能。如果源对象是字符串,并且指定 %s格式符,也可实现字符串拷贝功能。strcpy和memcpy主要有以下3方面的区别:1)复制的内容不同

2013-07-01 00:23:29 1160

原创 内存操作函数:

内存操作函数:1)void *memmove( void* dest, const void* src,size_tcount );由src所指内存区域复制count个字节到dest所指内存区域。如果目标区域和源区域有重叠的话,memmove能够保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中。但复制后dest内容会被更改。但是当目标区域与源区域没有重叠则和memcpy函数功能相同

2013-07-01 00:23:11 582

原创 字节对齐

字节对齐在结构中,编译器为结构的每个成员按其自然边界(alignment)分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。为了使CPU能够对变量进行快速的访问,变量的起始地址应该具有某些特性,即所谓的”对齐”. 比如4字节的int型,其起始地址应该位于4字节的边界上,即起始地址能够被4整除.对于标准数据类型,它的地址只要是它的长度的整数倍就

2013-07-01 00:22:49 587

原创 结构体大小判断

结构体大小判断偏移量:偏移量指的是结构体变量中成员的地址和结构体变量地址的差。结构体大小等于最后一个成员的偏移量加上最后一个成员的大小。由于存储变量时地址对齐的要求,编译器在编译程序时会遵循两条原则:一、结构体变量中成员的偏移量必须是成员大小的整数倍(0被认为是任何数的整数倍)二、结构体大小必须是所有成员大小的整数倍。此外:结构体变量的首地址能够被其最宽基本类型成员的大小所整除

2013-07-01 00:22:26 965

原创 尽可能的优化代码性能

尽可能的优化代码性能如下代码成为了系统的瓶颈,请尽可能的优化;要求找到优化的点和优化方案,分析说明原因。代码如下:#define  M  10000#define  N  10000#define  L    3int arr[L][M][N];int xxx[M * N];int main(){// init arr and xxxfirst, omi

2013-07-01 00:21:47 772

原创 C++中模板的编译过程

C++中模板的编译过程     第一遍扫描到模板定义时将token流存入语法树中,不做其它操作     第二遍当模板被实例化时用模板实参代入进行运算,将所有的模板参数换为实参进行语法和语义分析特别需要注意的是类模板的成员函数只有在调用的时候才会被实例化。

2013-07-01 00:21:24 667

《Java核心技术卷1》 学习笔记.doc

《Java核心技术卷1》 学习笔记.doc http://blog.csdn.net/peace_power

2011-12-12

《C++程序设计教程(第二版 钱能)》 笔记.doc

《C++程序设计教程(第二版 钱能)》 笔记.doc http://blog.csdn.net/peace_power

2011-12-12

《C++ Primer 4 Answer Book》 整理

《C++ Primer 4 Answer Book》 整理 http://blog.csdn.net/peace_power

2011-12-12

Linux基础知识整理

Linux基础知识整理http://blog.csdn.net/peace_power

2011-12-11

空空如也

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

TA关注的人

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