Tag: algorithm

这个algorithm的大O分析是什么?

我正在研究一个数据结构课程,我不确定如何进行这个大O分析: sum = 0; for(i = 1; i < n; i++) for(j = 1; j < i*i; j++) if(j % i == 0) for(k = 0; k < j; k++) sum++; 我最初的想法是,这是减less后的O(n ^ 3),因为最里面的循环只会在j / i没有余数时运行,而乘法规则不适用。 我的推理在这里是正确的吗?

计算旋转矩形中的最大矩形

我试图find最好的方法来计算可以包含在一个旋转的矩形内的最大(面积)的矩形。 一些图片应该帮助(我希望)在可视化我的意思是: input矩形的宽度和高度是给定的,旋转angular度也是如此。 输出矩形不旋转或倾斜。 我正在走下一条漫长的路线,我甚至不知道它是否会处理angular落案件(不是双关语)。 我敢肯定,这是一个优雅的解决scheme。 有小费吗? 编辑 :输出矩形点不一定要触摸input矩形的边缘。 (感谢E先生)

在使用后缀树的string中最长的回文

我试图find一个string中最长的回文。 powershell解决scheme需要O(n ^ 3)时间。 我读了使用后缀树有一个线性时间algorithm。 我熟悉后缀树,并且很舒适地构build它们。 你如何使用内置的后缀树find最长的回文。

酷项目使用遗传algorithm?

我正在寻找一个实际的应用程序使用遗传algorithm。 有些想法的东西是: 网站界面优化 用物理模拟器进行车辆优化 遗传编程 自动生成testing用例 但是没有人真的出现在我身上。 所以,如果你有一些空闲时间(几个月)花费在一个遗传algorithm项目上,你会select怎样处理?

计算下一次执行cron作业的时间

我有一个cron“时间定义” 1 * * * * (every hour at xx:01) 2 5 * * * (every day at 05:02) 0 4 3 * * (every third day of the month at 04:00) * 2 * * 5 (every minute between 02:00 and 02:59 on fridays) 我有一个unix时间戳。 有没有一种明显的方法来find(计算)下一次(在给定的时间戳之后)作业是否将被执行? 我正在使用PHP,但问题应该是相当语言不可知的。 [更新] “ PHP Cron Parser ”类(由Raybuild议)计算CRON作业应该执行的最后时间,而不是下一次。 为了更容易:在我的情况下,cron时间参数只是绝对的,单个数字或“*”。 […]

什么是最好的图像缩放algorithm(质量明智)?

我想找出哪个algorithm是最好的,可以用来缩小栅格图片。 最好的我的意思是提供最好看的结果。 我知道双三次,但有更好的呢? 例如,我听说有些人认为Adobe Lightroom有一些专有的algorithm,比我使用的标准双三次方法产生更好的结果。 不幸的是,我想在我的软件中自己使用这个algorithm,所以Adobe谨慎的商业秘密是行不通的。 添加: 我检查出了Paint.NET,令我惊讶的是,在缩小图片尺寸时,Super Sampling似乎比双三次更好。 这让我想知道插值algorithm是否是完全可行的。 这也让我想起了一个我自己“发明”的algorithm,但从未实现过。 我想它也有一个名字(因为这个小事不可能只是我自己的想法),但是我找不到那些受欢迎的名字。 超级采样是最接近的一个。 这个想法是这样的 – 对于目标图片中的每个像素,计算它在源图片中的位置。 它可能会覆盖一个或多个其他像素。 然后可以计算这些像素的面积和颜色。 然后,为了获得目标像素的颜色,可以简单地计算这些颜色的平均值,将它们的面积作为“权重”添加。 所以,如果一个目标像素将覆盖1/3的黄色源像素和1/4的绿色像素,我会得到(1/3 *黄+ 1/4 *绿)/(1/3 + 1/4)。 这自然是计算密集型的,但它应该尽可能地接近理想,不是吗? 这个algorithm有没有名字?

发现一个平面上的4个点是否构成一个矩形?

有人可以告诉我用C风格的伪代码如何编写一个函数(代表你喜欢的点),如果4点(参数函数)形成一个矩形,返回true,否则返回false? 我想出了一个解决scheme,首先尝试find两个不同的点的X值相等,然后做这个Y轴。 但是代码很长。 只是好奇,看看别人想出了什么。

std :: transform()和toupper(),没有匹配的函数

我试过这个问题的代码C ++ std :: transform()和toupper()..为什么这会失败? #include <iostream> #include <algorithm> int main() { std::string s="hello"; std::string out; std::transform(s.begin(), s.end(), std::back_inserter(out), std::toupper); std::cout << "hello in upper case: " << out << std::endl; } 从理论上讲,它应该是Josuttis书中的例子之一,但它不能编译http://ideone.com/aYnfv 。 为什么GCC抱怨: no matching function for call to 'transform( __gnu_cxx::__normal_iterator<char*, std::basic_string <char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char*, std::basic_string <char, std::char_traits<char>, std::allocator<char> > […]

有n个节点的有向图中的最大边数是多less?

有n个节点的有向图中的最大边数是多less? 有没有上限?

Python的k-meansalgorithm

我正在寻找Python实现k-meansalgorithm与例子来聚类和caching我的坐标数据库。