Tag: algorithm

如何为任何自然数n生成n种不同的颜色?

说n = 100; 如何生成100个视觉上不同的颜色? 这在math上是可能的吗?

实时数据捕获的百分比

我正在寻找一种algorithm来确定实时数据捕获的百分比。 例如,考虑服务器应用程序的开发。 服务器的响应时间如下所示:17 ms 33 ms 52 ms 60 ms 55 ms等 报告第90百分位响应时间,第80百分位响应时间等是有用的。 天真的algorithm是将每个响应时间插入一个列表。 当请求统计信息时,对列表进行sorting,并将值在适当的位置。 内存使用量与请求数成线性关系。 是否有一个algorithm,给出有限的内存使用“近似”百分数统计? 例如,假设我想以一种处理数百万个请求的方式来解决这个问题,但是只想使用一千字节的内存来进行百分比跟踪(丢弃对旧请求的跟踪不是一种select,因为百分点应该是适用于所有请求)。 还要求没有关于分配的先验知识。 例如,我不想提前指定任何桶的范围。

我怎样才能以编程方式确定如何将较小的盒子放入较大的包装中?

有没有人知道现有的软件或algorithm来计算运输多个项目的包装大小? 我在库存数据库中有一堆物品,长度,宽度和高度都是定义的。 鉴于这些尺寸,我需要计算有多less购买的项目将符合预定义的箱子大小。

面试问题:关于概率

面试问题: 给定一个函数f(x),1/4返回0,3/4返回1.用f(x)写1/2函数g(x)返回0,1 / 2返回1。 我的实现是: function g(x) = { if (f(x) == 0){ // 1/4 var s = f(x) if( s == 1) {// 3/4 * 1/4 return s // 3/16 } else { g(x) } } else { // 3/4 var k = f(x) if( k == 0) {// 1/4 * 3/4 return k […]

哈密​​尔顿path与欧拉path之间的区别

有人能告诉我哈密尔顿path与欧拉path之间的区别吗? 他们似乎相似!

在一个十亿档案中find最大的百位数字

我今天去面试了,被问到这个问题: 假设你有一个十亿个未分类的整数在一个磁盘文件中。 你如何确定最大的百位数字? 我甚至不确定我会从这个问题开始。 什么是最有效的过程来给出正确的结果? 我是否需要通过磁盘文件百次抓取尚未列入清单的最高号码,还是有更好的办法?

颠倒数组而不使用迭代

我今天问了一个问题,我不相信这是可能的,但我可能是错的,或者是在想这个问题。 如何在C中不使用迭代来反转数组? 我的想法是,这是不可能的,因为这个数组可以是任意大小的,并且没有使用某种forms的迭代就不能用这种支持来expressionC程序。

时间复杂性与空间复杂性之间的差异

我已经看到,在大多数情况下,时间复杂性与空间复杂性有关,反之亦然。 例如在一个数组遍历中: for i=1 to length(v) print (v[i]) endfor 在上述情况下,很容易看出algorithm在时间上的复杂性是O(n),但是对于我所看到的空间复杂度也是n(也可以用O(n)表示)? 我的问题: 一个algorithm是否有可能与空间复杂度有不同的时间复杂度?

Python和C ++之间的exception速度差异

我最近写了一个简短的algorithm来计算python中的快乐数字 。 该程序允许你select一个上限,它将确定下面所有的幸福数字。 对于速度比较,我决定将我从Python知道的algorithm的最直接的翻译成C ++。 令人惊讶的是,c ++版本的运行速度比Python版本慢得多。 在发现前10000个快乐数字的执行时间之间进行精确的速度testing表明,python程序平均在0.59秒内运行,而c ++版本平均在8.5秒内运行。 我将这种速度差异归结为这样一个事实,即我必须在已经内置到python语言的c ++版本中为部分计算编写助手函数(例如,确定元素是否在列表/数组/向量中) 。 首先,这是这样一个荒谬的速度差异的真正原因,其次,我怎么能改变c + +版本执行比python版本更快(应该在我看来)。 这两个代码,速度testing在这里: Python版本 , C ++版本 。 谢谢您的帮助。 #include <iostream> #include <vector> #include <string> #include <ctime> #include <windows.h> using namespace std; bool inVector(int inQuestion, vector<int> known); int sum(vector<int> given); int pow(int given, int power); void calcMain(int upperBound); int main() { while(true) […]

将任意三angular形打包成一个有限的盒子?

作为3D优化的一部分,我需要将三angular形合理地包装到一个盒子中(我正在将不同材质的片段填充到一个单独的纹理中,用于深度分类,所以纹理不会切换与每一个新的三) 有没有一个algorithm来做到这一点? 三angular形本身可以制作成可以(可变形为正确的angular度,有效地使这个盒子填充algorithm,而不是),但我想避免这一点,如果可能的话,因为它会扭曲底层的纹理艺术。