小编Shr*_*saR的帖子

Eratosthenes算法筛选的时间复杂度

来自维基百科:

算法的复杂性是 O(n(logn)(loglogn))位操作.

你怎么到达那个?

复杂性包括这个loglogn术语告诉我有一个sqrt(n)地方.


假设我在前100个数字(n = 100)上运行筛子,假设将数字标记为复合需要恒定时间(数组实现),我们使用的次数mark_composite()将类似于

n/2 + n/3 + n/5 + n/7 + ... + n/97        =      O(n^2)                         
Run Code Online (Sandbox Code Playgroud)

并且为了找到下一个素数(例如,7在越过所有数字的多个之后跳转到5),操作的数量将是O(n).

因此,复杂性将是O(n^3).你同意吗?

algorithm performance time-complexity sieve-of-eratosthenes

91
推荐指数
3
解决办法
5万
查看次数

如何确定线段上两个点之间的点?

假设你有一个带有2个点(称为a和b)的二维平面,它由x整数和每个点的y整数表示.

如何确定a和b定义的线段上是否有另一个点c?

我最常使用python,但任何语言的示例都会有所帮助.

python math geometry

85
推荐指数
8
解决办法
10万
查看次数

为什么Python的itertools.permutations包含重复项?(当原始列表有重复时)

普遍认为n个不同符号的列表有n!排列.然而,当符号不明显时,在数学和其他地方最常见的惯例似乎只计算不同的排列.因此,列表的排列[1, 1, 2]通常被认为是
[1, 1, 2], [1, 2, 1], [2, 1, 1].实际上,以下C++代码正好打印出这三个:

int a[] = {1, 1, 2};
do {
    cout<<a[0]<<" "<<a[1]<<" "<<a[2]<<endl;
} while(next_permutation(a,a+3));
Run Code Online (Sandbox Code Playgroud)

另一方面,Python itertools.permutations似乎打印其他东西:

import itertools
for a in itertools.permutations([1, 1, 2]):
    print a
Run Code Online (Sandbox Code Playgroud)

这打印

(1, 1, 2)
(1, 2, 1)
(1, 1, 2)
(1, 2, 1)
(2, 1, 1)
(2, 1, 1)
Run Code Online (Sandbox Code Playgroud)

正如用户Artsiom Rudzenka在一个答案中指出的那样,Python文档说:

元素根据其位置而不是其价值被视为唯一元素.

我的问题:为什么做出这个设计决定?

似乎遵循通常的惯例会给出更有用的结果(事实上它通常正是我想要的)......或者是否存在一些我缺少的Python行为应用?

[或者是一些实施问题?这里的算法next_permutation- 例如在StackOverflow上解释(由我)在这里显示为O(1)摊销 - 在Python中似乎是高效和可实现的,但是Python做了更有效的事情,因为它不保证基于词典顺序价值?如果是这样,效率的提高是否值得呢?]

python algorithm language-design permutation

49
推荐指数
3
解决办法
1万
查看次数

将多项式拟合到数据

在给定一组值的情况下(x,f(x)),有没有办法找到最适合数据的给定度数的多项式?

我知道多项式插值,它用于找到n给定n+1数据点的度数多项式,但这里有大量的值,我们想找到一个低次多项式(找到最佳线性拟合,最佳二次,最佳立方等. ).它可能与最小二乘有关 ...

更一般地说,当我们有一个多变量函数时,我想知道答案 - (x,y,f(x,y))比如说 - 并且想要找到p(x,y)变量中给定度数的最佳多项式().(特别是多项式,而不是样条或傅里叶级数.)

理论和代码/库(最好是Python,但任何语言都可以)都会很有用.

math statistics

48
推荐指数
4
解决办法
5万
查看次数

为什么解释的langs在编译时大部分都是鸭子型的?

我只是不知道,有什么技术原因吗?为弱键入的语言实现编译器是否更难?它是什么?

compiler-construction programming-languages interpreted-language

44
推荐指数
5
解决办法
6977
查看次数

如何删除以Emacs制作的所有以〜为结尾的文件

每当我在emacs上编辑文件时,似乎都会创建一个临时文件,其名称与〜相同.有没有人知道删除工作目录中所有这些文件的快捷方式?

emacs backup

40
推荐指数
6
解决办法
3万
查看次数

在mac上安装uWSGI时出错

我需要uWSGI来运行django项目.因此,当我尝试安装uWSGI时,它给我一个错误说"异常:你需要一个C编译器来构建uWSGI".但mac带有gcc编译器.

我从" http://projects.unbit.it/uwsgi/wiki/WikiStart#Getit " 下载了uWSGI 并尝试通过命令"python setup.py install"进行安装

这是我在安装uWSGI时遇到的错误

running install
using profile: buildconf/default.ini
detected include path: ['/usr/local/include', '/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple
darwin11/4.2.1/include', '/usr/include', '/System/Library/Frameworks', '/Library/Frameworks']
Traceback (most recent call last):
  File "setup.py", line 98, in <module>
    distclass=uWSGIDistribution,
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py",
line 152, in setup
    dist.run_commands()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py",
line 953, in run_commands
    self.run_command(cmd)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py",
line 972, in run_command
    cmd_obj.run()
  File "setup.py", line 61, in run
    conf = uc.uConf(get_profile())
  File "/Users/jay/Downloads/Softwares/Work/uwsgi-1.2.4/uwsgiconfig.py", line 340, in __init__
    raise Exception("you need a C compiler to build uWSGI") …
Run Code Online (Sandbox Code Playgroud)

django uwsgi

24
推荐指数
3
解决办法
1万
查看次数

有效地计算矩阵中元素的总和

在一次采访中,我被问到是否给了一个n*m矩阵如何计算给定子矩阵中值的总和(由左上角,右下角坐标定义).

我被告知我可以预处理矩阵.

我被告知矩阵可能很大,子矩阵也是如此,因此算法必须高效.我偶然发现了一些并没有被告知最佳答案.

有谁有一个很好的答案?

algorithm matrix

22
推荐指数
2
解决办法
2万
查看次数

CSS和Latex盒子模型有什么区别?

CSS和Latex如何组织盒子有什么区别?(段落或图形元素.)

css layout latex

16
推荐指数
1
解决办法
1929
查看次数

How exactly do you compute the Fast Fourier Transform?

I've been reading a lot about Fast Fourier Transform and am trying to understand the low-level aspect of it. Unfortunately, Google and Wikipedia are not helping much at all.. and I have like 5 different algorithm books open that aren't helping much either.

我试图找到像矢量[1,0,0,0]那样简单的FFT.当然我可以将其插入Matlab,但这无助于我理解底层正在发生的事情.另外,当我说我想找到一个向量的FFT时,就像说我想用一个更有效的算法找到一个向量的DFT一样吗?

algorithm math fft

15
推荐指数
3
解决办法
2万
查看次数