摘要:
方法1:使用指针View Code 1 #include <iostream> 2 using namespace std; 3 4 struct node 5 { 6 int key; 7 node *left; 8 node *right; 9 node *parent; 10 node(){} 11 node(int x):key(x),left(NULL),right(NULL){} 12 }; 13 14 struct tree 15 { 16 node *root; 17 tree():root(NULL){} 18 }; 19 20 void Tree_... 阅读全文
摘要:
View Code 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <time.h> 4 5 typedef int KEY; 6 7 enum NODECOLOR 8 { 9 BLACK = 0, 10 RED = 1 11 }; 12 13 typedef struct RBTree 14 { 15 struct RBTree *parent; 16 struct RBTree *left, *right; 17 ... 阅读全文
该文被密码保护。 阅读全文
摘要:
1、给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。s遍历文件a,对每个url求取,然后根据所取得的值将url分别存储到1000个小文件(记为)中。这样每个小文件的大约为300M。s遍历文件b,采取和a相同的方式将url分别存储到1000个小文件(记为)。这样处理后,所有可能相同的url都在对应的小文件()中,不对应的小文件不可能有相同的url。然后我们只要求出1000对小文件中 阅读全文
摘要:
很久以来对C++的虚函数表都不太清楚,自从读了陈皓的博客,感觉豁然开朗,以下内容均转载自他的博客。一个类可能会有如下的影响因素:1)成员变量2)虚函数(产生虚函数表)3)单一继承(只继承于一个类)4)多重继承(继承多个类)5)重复继承(继承的多个父类中其父类有相同的超类)6)虚拟继承(使用virtual方式继承,为了保证继承后父类的内存布局只会存在一份)上述的东西通常是C++这门语言在语义方面对对象内部的影响因素,当然,还会有编译器的影响(比如优化),还有字节对齐的影响。在这里我们都不讨论,我们只讨论C++语言上的影响。本篇文章着重讨论下述几个情况下的C++对象的内存布局情况。1)单一的一般继 阅读全文