- 博客(15)
- 资源 (8)
- 收藏
- 关注
转载 C++的内存管理
这篇文章是我在学习高质量C++/C编程指南中的第7章"内存管理"后的一篇笔记,之前我也写过相关的文章指针以及内存分配,但我感觉那篇还不是很好,这篇我很把它更完善一些一.内存的常见分配方式 1. 从静态区分配,一般是全局变量和static类型变量 2.从栈区分配内存,一般是局部的变量,会随着所在函数的结束而自动释放 3.从堆中分配,一般是使用手动分配,使用malloc(
2014-02-24 13:36:35 777
原创 进程与线程
1、基本概念:进程:程序在一个数据集上的一次运行过程。是操作系统资源分配的基本单位。 进程又被细化为线程。也就是一个进程下有多个能独立运行的更小单位。进程还拥有一个私有的虚拟地址空间,该空间仅能被它所包含的线程访问。线程:是进程中的一个实体。是被操作系统独立调度和执行的基本单位。一个进程包含一个或多个线程。进程是执行实体,是资源分配的基本单位;而线程是处理机调度的
2014-02-24 11:24:03 837
转载 一致性哈希算法
tencent2012笔试题附加题 问题描述: 例如手机朋友网有n个服务器,为了方便用户的访问会在服务器上缓存数据,因此用户每次访问的时候最好能保持同一台服务器。已有的做法是根据ServerIPIndex[QQNUM%n]得到请求的服务器,这种方法很方便将用户分到不同的服务器上去。但是如果一台服务器死掉了,那么n就变为了n-1,那么ServerIPIndex[QQNUM%
2014-02-22 22:18:54 723
转载 程序员编程艺术--7、全排列,跳台阶,奇偶调序
1、字符串的排列。题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a、b、c 所能排列出来的所有字符串abc、acb、bac、bca、cab 和cba。 分析:此题最初整理于去年的微软面试100题中第53题,第二次整理于微软、Google等公司非常好的面试题及解答[第61-70题] 第67题。无独有偶,这个问题今年又出现于今年的
2014-02-22 22:15:47 971
原创 程序员编程艺术--->6、关于链表的追赶问题
本章主要涉及链表的相关检测问题,诸如:链表的倒数第k个结点检测链表是否带环两链表是否相交而此类问题,如果用直观的想法去做的话,无疑时间复杂度不太可观,因此可以继续寻求更加的解决方案。下面就这些问题展开来谈。1、求链表的倒数第k个结点 解析:(1)两次遍历链表,第一次求出链表的长度,第二次找出n-k个结点,便是倒数第k个结点。 (2)既然要尔链表的倒数第k
2014-02-22 21:22:21 676
原创 程序员编程艺术---5、寻找满足和为定值的两个或多个数
1、寻找和为定值的两个数题目:输入一个数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的数字。解析:(1)可以用穷举法,从数组中任取两个数,看其和是否是该数字。但是O(N)=O(n^2)(2)可以同时从数组首元素a[i] 和尾元素a[j] 之和遍历,如果>sum,j--; 如果#include "stdafx.h"#include using namespace s
2014-02-22 17:08:05 1792
转载 程序员编程艺术---4、常用字符串函数的编写
第一节、字符串查找1.1题目描述:给定一个字符串A,要求在A中查找一个子串B。如A="ABCDF",要你在A中查找子串B=“CD”。分析:比较简单,相当于实现strstr库函数,主体代码如下:char strStr(char *string ,char *subString){ int length1 = strlen(string); int length2
2014-02-22 10:27:46 840
原创 程序员编程艺术--2、字符串包含问题
题目描述:假设这有一个各种字母组成的字符串A,和另外一个字符串B,字符串里B的字母数相对少一些。什么方法能最快的查出所有小字符串B里的字母在大字符串A里都有?比如,如果是下面两个字符串:String 1: ABCDEFGHLMNOPQRSString 2: DCGSRQPO答案是true,所有在string2里的字母string1也都有。 如果是下面两个字符串:
2014-02-21 21:16:40 663
原创 程序员编程艺术----1、左旋转字符串
题目描述:定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部,如把字符串abcdef左旋转两位得到字符串cdefab.请实现字符串左旋转的函数,要求对长度为n的字符串操作的时间复杂度为O(n),空间复杂度为O(1)。方法1:直接移位法。void ShiftString(char *str, int length, int m){ char tmp; for(i
2014-02-21 20:22:37 615
原创 2014年华为机试试题
一、题目描述(60分):通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。比如字符串“abacacde”过滤结果为“abcde”。要求实现函数:void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr);【
2014-02-21 17:05:05 780
原创 NYOJ 163 Phone List
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=163如:给出三组phone numbers,Emergency 911Alice 97 625 999Bob 91 12 54 26判断较短的phone number是否是这组numbers中的一条或多条的前缀。也是判断一组字符串中,是否存在某一字符串是其它字符串的前缀。这里较
2014-02-21 11:27:00 650
原创 字典树详解----串查找、排序、公共前缀之杀手锏
1、字典树 又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变形。典型应用是用于统计,排序和保存大量的字符串,所以经常被搜索引擎系统用于文本词频统计。它的优点是利用最大公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。2、性质 根节点不包含字符,除根节点以外的每
2014-02-21 11:15:57 6751
原创 NYOJ 138 找球号
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=138题目描述:描述 在某一国度里流行着一种游戏。游戏规则为:现有一堆球中,每个球上都有一个整数编号i(0<=i<=100000000),编号可重复,还有一个空箱子,现在有两种动作:一种是"ADD",表示向空箱子里放m(0<m<=100)个球,另一种是"QUERY”,表示说出
2014-02-20 11:27:24 934 1
原创 Hash结构详解
1、什么是Hash Hash,即”散列“,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换也是一种压缩映射,也就是散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,因此不可能从散列值来唯一确定输入值。简单地说就是将一种任意长度的消息压缩成某一固定长度的消息摘要的函数。 HASH主要用于信息安全领域中加密算法,它把一
2014-02-20 11:00:06 15379 4
转载 二叉树相关算法总结
一、二叉树的遍历-前序、中序、后序以及层次遍历(递归与非递归)参考另外一篇笔记《二叉树的遍历-递归与非递归 -海子 - 博客园》。 二、重建二叉树,依据前序遍历结果和中序遍历结果《剑指Offer》面试题6. 前、中; 后,中-----》均可以重建二叉树,但是前、后则不行,给出“前、后”序列只能判断父子关系,而不能区分左子树和右子树。思想:递归代码:// 《剑
2014-02-13 19:31:13 1699
android中关于SDCard文件存储的操作
2011-12-28
android开发环境的搭建及helloworld
2011-12-28
利用GBK码显示汉字提取字根
2011-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人