摘要:一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程, 也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原 阅读全文
posted @ 2016-12-29 16:33 TonyLuis 阅读(73) 评论(0) 推荐(0) 编辑
摘要:洗牌算法一:生成一个不重复的随机序列,将随机序列绑定到nums[],然后对随机序列做一次排序。 洗牌算法二:(经典洗牌算法) 经典算法的证明: 对于nums[i],洗牌后在第n-1个位置的概率是1/n(第一次交换的随机数为i)在n-2个位置概率是[(n-1)/n] * [1/(n-1)] = 1/n 阅读全文
posted @ 2016-10-10 00:14 TonyLuis 阅读(1665) 评论(2) 推荐(0) 编辑
摘要:1,malloc与free是C/C++的标准库函数,new/delete是C++的运算符,是C++面向对象的特征,它们都可用于申请动态内存和释放内存。2,对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数 阅读全文
posted @ 2016-10-09 19:09 TonyLuis 阅读(462) 评论(0) 推荐(0) 编辑
摘要:1. 栈(Stack): 位于函数内的局部变量(包括函数实参),由编译器负责分配释放,函数结束,栈变量失效。2. 堆(Heap): 由new申请的内存,由delete负责释放。3. 自由存储区(Free Storage): 由程序员用malloc()/calloc()/realloc()(C语言的库 阅读全文
posted @ 2016-10-09 18:21 TonyLuis 阅读(86) 评论(0) 推荐(0) 编辑
摘要:计数排序: 对于比较密集的整数,比如全校学生的成绩(0-100),直接放入101个桶(计数器),设置桶宽为1即可,稳定排序。 基数排序: 对于已知长度的整数,比如三位数,可以先排序个位数,然后十位数,然后百位数(不是从上往下排),稳定排序。 桶排序: 对于[0,1),这样的double型均匀分布,可 阅读全文
posted @ 2016-10-08 21:19 TonyLuis 阅读(89) 评论(0) 推荐(0) 编辑
摘要:JavaEE 阅读全文
posted @ 2016-09-09 14:53 TonyLuis 阅读(50) 评论(0) 推荐(0) 编辑
摘要:我们有两个字符串m和n,如果它们的子串a和b内容相同,则称a和b是m和n的公共子序列。子串中的字符不一定在原字符串中连续。 例如字符串“abcfbc”和“abfcab”,其中“abc”同时出现在两个字符串中,因此“abc”是它们的公共子序列。此外,“ab”、“af”等都是它们的字串。 现在给你两个任 阅读全文
posted @ 2016-09-06 15:46 TonyLuis 阅读(93) 评论(0) 推荐(0) 编辑
摘要:题目描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法? http://www.nowcoder.com/practice/a96b78e871c347bbb8cadf7bea0ee862?tpId=40&tqId=21395&rp=1&ru=/ta/kaoya 阅读全文
posted @ 2016-09-02 21:04 TonyLuis 阅读(79) 评论(0) 推荐(0) 编辑
摘要:题目描述 查找和排序 题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 例示: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack 70 Tom 70 smith 67 从低到高 阅读全文
posted @ 2016-09-02 20:32 TonyLuis 阅读(130) 评论(0) 推荐(0) 编辑
摘要:面向过程:典型的是C/C++的结构体,结构体里只有变量,没有处理变量的方法,需要专门编写处理变量的方法。 面向对象:ArrayList<Integer> list=new ArrayList<Integer>();坏处是如果改为LinkedList,所有代码可能需要重写,同时扩展一个新的List的话 阅读全文
posted @ 2016-08-24 17:48 TonyLuis 阅读(3256) 评论(0) 推荐(0) 编辑