Tag: algorithm

旋转另一点的点(2D)

我正在试图制作一个纸牌游戏的卡片扇出。 现在显示它使用Allegro API,它有一个function: al_draw_rotated_bitmap(OBJECT_TO_ROTATE,CENTER_X,CENTER_Y,X ,Y,DEGREES_TO_ROTATE_IN_RADIANS); 所以这个我可以很容易地使我的粉丝效果。 问题是知道哪个卡在鼠标下。 要做到这一点,我想到做一个多边形碰撞testing。 我只是不知道如何旋转卡上的4个点来组成多边形。 我基本上需要做和Allegro一样的操作。 例如,卡的4个点是: card.x card.y card.x + card.width card.y + card.height 我需要一个像这样的function: POINT rotate_point(float cx,float cy,float angle,POINT p) { } 谢谢

sortingalgorithm的稳定性是什么?为什么它很重要?

我很好奇,为什么稳定性在sortingalgorithm中是或不重要的?

经纬度+公里距离的简单计算?

是否有一个简单的计算,我可以做到这一点将公里转换为一个值,我可以添加到经纬度或长度的浮点数来计算search的边界框? 它不需要是完全准确的。 例如:如果我给伦敦,英格兰(51.5001524,-0.1262362)一个纬度/经度,我想要计算从这一点到东西方向25公里的拉特将是什么样的东西,以及南北方向是25公里点,我需要做什么来将25公里转换成小数点以上的值? 我正在寻找一个一般的经验法则,即:1km == +/- 0.XXX 编辑: 我原来的search“经纬度”没有返回这个结果: 如何计算给定纬度/经度位置的边界框? 接受的答案似乎足以满足我的要求。

N路合并algorithm

作为Mergesortalgorithm的一部分,双向合并被广泛​​研究。 但是我有兴趣找出一个可以进行N路合并的最佳方法吗? 可以说,我有N文件,每个文件已经sorting了100万个整数。 我必须将它们合并成1个单个文件,这将有1亿个sorting的整数。 请记住,这个问题的用例实际上是基于磁盘的外部sorting。 因此,在实际情况下也会有内存限制。 所以一次合并两个文件(99次)的一个天真的方法将不起作用。 可以说,我们只有一个可用于每个arrays的小滑动窗口。 我不确定是否已经有一个标准化的解决scheme来进行这种N路合并。 (谷歌search没有告诉我很多) 。 但是如果你知道一个好的n路合并algorithm,请发表algorithm/链接。 时间复杂度:如果我们大大增加要合并的文件数量( N ),那将如何影响algorithm的时间复杂度? 感谢您的回答。 我从来没有被问到过这个问题,但是我觉得这可能是一个有趣的面试问题。 因此被标记。

我如何findJavaScript数组中包含的最大数字?

我有一个简单的JavaScript数组对象包含几个数字。 [267, 306, 108] 有没有一个函数可以find这个数组中最大的数字?

哪种sortingalgorithm最适合大多数sorting的数据?

哪种sortingalgorithm对大多数sorting数据最有效?

使用boost或STL对C ++中的压缩(locking)容器进行sorting

我想做什么:我想sorting2或3,或N个向量,locking在一起, 而不复制到一个元组中。 也就是说,把冗长留在一边,就像: vector<int> v1 = { 1, 2, 3, 4, 5}; vector<double> v2 = { 11, 22, 33, 44, 55}; vector<long> v3 = {111, 222, 333, 444, 555}; typedef tuple<int&,double&,long&> tup_t; sort(zip(v1,v2,v3),[](tup_t t1, tup_t t2){ return t1.get<0>() > t2.get<0>(); }); for(auto& t : zip(v1,v2,v3)) cout << t.get<0>() << " " << t.get<1>() << " […]

如何在PHP中生成一个string的所有排列?

我需要一个algorithm返回一个string中所有字符的所有可能的组合。 我试过了: $langd = strlen($input); for($i = 0;$i < $langd; $i++){ $tempStrang = NULL; $tempStrang .= substr($input, $i, 1); for($j = $i+1, $k=0; $k < $langd; $k++, $j++){ if($j > $langd) $j = 0; $tempStrang .= substr($input, $j, 1); } $myarray[] = $tempStrang; } 但是,只返回与string长度相同的数量组合。 说出$input = "hey" ,结果是: hey, hye, eyh, ehy, yhe, yeh […]

实现MySQL /模糊searchLevenshtein距离?

我希望能够按如下方式search一个表格,以获得1个方差内的所有信息。 数据: 奥布莱恩 Smithe 杜兰 Smuth 皇 Smoth 冈瑟 Smiht 我已经考虑使用Levenshtein距离没有人知道如何实现这一点呢?

你如何sorting在多列上的数组?

我有一个multidimensional array。 主数组是一个数组 [publicationID][publication_name][ownderID][owner_name] 我想要做的是按owner_name然后由publication_namesorting数组。 我知道在JavaScript中你有Array.sort() ,你可以把自定义函数,在我的情况下,我有: function mysortfunction(a, b) { var x = a[3].toLowerCase(); var y = b[3].toLowerCase(); return ((x < y) ? -1 : ((x > y) ? 1 : 0)); } 这只是sorting上一列,即owner_name罚款,但如何修改它在owner_name ,然后publication_namesorting?