Tag: 算法

确定是否在整数数据类型中设置位的最快方法

我有一个方法,根据某些特定的算法计算哈希值。 uint8_t cal_hash(uint64_t _in_data) { uint8_t hash; // algorithm // bit at hash[0] = XOR of some specific bits in _in_data // repeat above statement for other indexed bits of hash return hash; } 我想知道什么是最有效的访问方式,并在整数数据类型中设置相应的位。 我已经尝试过类似的东西 (((x) & (1<<(n)))?1:0) 确定任何索引处的位是1还是0。 有什么比这更好的?

格雷码中的邻居

我可以使用任何算法在格雷码中找到邻居吗? 对于小数字来说,编写整个表格就好了,但是如果我有一个像010这样的数字,那么用6个数字编写整个灰色代码表有点太多了。

找到数组中的四个元素,其总和等于给定的数字X

我需要帮助才能找到一个找到的算法: 数组中的四个元素 其总和等于给定数字X. 在O(n ^ 2 * log(n)) 喜欢伪代码或c,c ++

以编程方式解决Rubik的立方体

我正在尝试开发一个用C解决Rubik立方体的程序。我使用了回溯技术。 这是一个非常漫长的过程,需要大量的迭代,所以我无法解决它。 请给我关于如何更有效地解决这个问题的建议 – 例如其他技术或采用回溯本身。 在谷歌我找到了很多解决这个问题的捷径,但我不想通过使用快捷方式来解决这个问题。

在C / C ++中实现派生

如何通过编程方式计算f(x)的导数以确保最大精度? 我正在实现Newton-Raphson方法,它需要获取函数的导数。

在C中生成之间的随机数?

我已经看到很多关于这个特定主题的问题,但没有一个对我有任何答案,所以我想问这个问题。 我想在[-1,1]之间生成一个随机数。 我怎么能这样做?

将二次贝塞尔曲线转换为立方贝塞尔曲线

将二次贝塞尔曲线(3点)转换为立方贝塞尔曲线(4点)的算法是什么?

按字典顺序打印所有排列

我想以字典顺序打印字符串的所有排列。 我写这段代码: void permute(char *a, int i, int n) { if (i == (n-1)) printf(“\”%s\”\n”, a); else { for (int j = i; j < n; j++) { swap((a+i), (a+j)); permute(a, i+1, n); swap((a+i), (a+j)); } } } 我有例如字符串abc ,所以我希望以左列中的字典顺序接收所有排列,但是我的结果与右列相同。 “abc” “abc” “acb” “acb” “bac” “bac” “bca” “bca” “cab” “cab” 有人可以帮我弄这个吗? 我看到了一些算法,但看起来很难。 我想我可以在数组中保存所有生成的字符串,然后对这个数组进行排序,但是我不能写这个(我是C语言的初学者)。

不使用%和/运算符的5的可分性

如何在不使用%和/运算符的情况下检查数字是否可被5整除。 我想要一个最快的算法来解决这个问题。

快速弧算法算法?

我有自己的,非常快的cos函数: float sine(float x) { const float B = 4/pi; const float C = -4/(pi*pi); float y = B * x + C * x * abs(x); // const float Q = 0.775; const float P = 0.225; y = P * (y * abs(y) – y) + y; // Q * y + P […]