我们正在设计一个网络站点,数据将以复杂的方式相互连接.我们计划使用Neo4j,以便我们可以逃避昂贵的加入,否则需要.由于neo4j专为图形数据而设计,因此看起来很合适.
但是我们已经意识到尽管neo4j在某些方面很快但是关系数据的表示最好通过关系数据库完成.因此我们计划在某些功能上使用neo4j,在其他功能上使用postgresql.
例如 - 我们将使用neo4j通过搜索他所遵循的不同节点来向用户查找相关的供稿.对于其他活动,如更新个人资料信息等,我们想使用postgresql.我们对配置文件信息更新进行了一些性能测试,发现postgresql比neo4j更快.在分析饲料数据时,neo4j要快得多.
现在我的问题是,之前有人使用过这样的数据库组合.特别是neo4j与postgresql.我们在集成不同数据库时确实发现了一些问题,但我们觉得它值得.
请分享您的经验和反馈.谢谢
有人问我产生之间的随机数a和b,包容,使用random(0,1).random(0,1)生成0到1之间的均匀随机数.
我回答了
(a+(((1+random(0,1))*b))%(b-a))
Run Code Online (Sandbox Code Playgroud)
我的采访者对我b在这段表达中的用法不满意:
(((1+random(0,1))*b))
Run Code Online (Sandbox Code Playgroud)
然后我尝试将我的答案改为:
int*z=(int*)malloc(sizeof(int));
(a+(((1+random(0,1))*(*z)))%(b-a));
Run Code Online (Sandbox Code Playgroud)
后来这个问题改变产生random(1,7)的random(1,5).我回答:
A = rand(1,5)%3
B = (rand(1,5)+1)%3
C = (rand(1,5)+2)%3
rand(1,7) = rand(1,5)+ (A+B+C)%3
Run Code Online (Sandbox Code Playgroud)
我的答案是否正确?
有一个n个数字的数组.一个数字重复n/2次,其他n/2个数字不同.找到重复的数字.(最佳soln是o(n)正好n/2 + 1比较.)
这里的主要问题是n/2 + 1比较.我有两个O(n)的解决方案,但他们正在进行超过n/2 + 1的比较.
1>将数组的数量除以三个组.比较任何相同元素的n/3组.例如,数组是(1 10 3)(4 8 1)(11)....因此所需的比较数是7,即> n/2 + 1,即8/2 + 1 = 5
2>比较a [i]和[i + 1]和[i + 2]例如阵列是8 10 3 4 1 1 1 1
总共9次比较
我甚至感激一点帮助.谢谢
空间复杂度为O(1).