Tag: 语言不可知

如何确定我的pi计算是否准确?

我正在尝试各种方法来实现一个程序,依次给出pi的数字。 我尝试了泰勒级数方法,但是它certificate了收敛速度非常慢(当我比较我的结果和在线值之后)。 无论如何,我正在尝试更好的algorithm。 所以,在编写程序时,我遇到了一个问题,就像所有的algorithm一样:我怎么知道我计算的n数字是准确的?

数组中的二进制search

我将如何实现一个二进制search只使用一个数组?

真随机数发生器

对不起,这不是一个“真正的”问题,但有时候我记得在这里看到一个post,随机随机随机随机生成真正的随机数字,而不只是伪随机。 我没有看到它,如果我search它。 有人知道那篇文章吗?

具有固定子集大小的Sum子集

求和子集问题指出: 给定一组整数,是否有一个总和为零的非空子集? 这个问题通常是NP完全的。 我很好奇,如果这个轻微的变种的复杂性是已知的: 给定一组整数,是否有一个总和为零的大小为k的子集? 例如,如果k = 1 ,则可以执行二进制search以在O(log n)find答案。 如果k = 2 ,那么你可以把它归结为O(n log n) (例如参见从一个数组中找出一对元素,其和等于一个给定的数字 )。 如果k = 3 ,那么你可以做O(n^2) (例如参见在一个数组中find三个元素的总和最接近给定的数字 )。 作为k一个函数,是否有一个可以放在这个问题上的已知边界? 作为动机,我正在考虑这个问题。 你如何将一个数组分成两部分,这两部分的平均数是相等的? 并试图确定它是否实际上是NP完整的。 答案在于是否有如上所述的公式。 除了一个通用的解决scheme,我会非常有兴趣知道k=4的最优界限。

什么是types安全的?

“types安全”是什么意思?

高维数据中最近的邻居?

几天前我问了一个问题 ,如何find给定vector的最近邻居。 我的向量现在是21个维度,在我进一步研究之前,因为我不是来自机器学习和math领域,我开始问自己一些基本的问题: 欧几里德距离是寻找最近邻居的好方法吗? 如果不是,我有什么select? 另外,如何确定确定k邻居的正确阈值? 是否有一些分析可以做出这个数字呢? 以前,我被build议使用kd-Trees,但维基百科页面清楚地表明,对于高维数据,kd-Tree几乎等同于蛮力search。 在这种情况下,在百万点数据集中有效地find最近邻的最佳方法是什么? 有人可以澄清一些(或全部)上述问题吗?

devise模式:抽象工厂与工厂方法

注意:问题在post末尾。 我已经阅读了关于抽象工厂VS工厂方法的其他stackoverflow线程。 我了解每种模式的意图。 但是,我不清楚这个定义。 Factory Method定义了一个用于创build对象的接口,但是可以让子类决定实例化哪个接口。 工厂方法让类将实例化推迟到子类。 相比之下,抽象工厂提供了一个接口,用于创build相关或依赖对象的族,而不指定具体的类。 – John Feminella 抽象工厂看起来与工厂方法非常相似。 我画了几个UML类来说明我的观点。 注意: 该图来自www.yuml.com,因此它们并不完美。 但是它的免费服务:)。 图表可能不完美。 我仍然在学习GoF的devise模式。 工厂方法: 抽象工厂(只有1个成员): 抽象工厂(更多会员): 问题: 如果抽象工厂只有一个创build者和一个产品,它仍然是抽象工厂模式吗? (创build家庭的界面) 工厂方法的具体创build者可以从一个接口创build吗?还是必须来自一个类? (类将实例化推迟到子类) 如果抽象工厂只能有一个创build者和一个产品,那么抽象工厂和工厂方法之间的唯一区别是,前者的创build者是一个接口,而后者的创build者是一个类?

与正则expression式匹配的随机string

你将如何创build一个匹配特定正则expression式的随机字母数字string? 这是专门用于创build初始密码,以满足正常的密码要求。

哈希表真的可以O(1)?

哈希表可以达到O(1)似乎是常识,但是这对我来说是没有意义的。 有人可以解释吗? 这里有两个想到的情况: A. 值是一个比散列表的大小小的int。 因此,这个值是它自己的哈希,所以没有哈希表。 但是,如果有的话,这将是O(1),仍然是低效的。 B. 你必须计算一个哈希值。 在这种情况下,查找数据大小的顺序是O(n)。 在O(n)工作之后,查找可能是O(1),但是在我眼中仍然是O(n)。 除非你有一个完美的散列表或一个大的散列表,否则每个存储桶可能有几个项目。 所以,无论如何它都会在某个点上进入一个小的线性search。 我认为散列表很棒,但是除非它是理论上的,否则我不会得到O(1)的称号。 维基百科关于散列表的文章始终引用常量查找时间,并完全忽略散列函数的成本。 这真的是一个公平的措施? 编辑:总结我学到的东西: 这在技术上是正确的,因为散列函数不需要使用密钥中的所有信息,因此可以是恒定的时间,并且因为足够大的表可以将冲突降低到接近恒定的时间。 在实践中是这样的,因为随着时间的推移,只要散列函数和表大小被select为使冲突最小化,即使这通常意味着不使用恒定时间散列函数,也可以实现。

如何根据数字检测信用卡types?

我试图找出如何检测纯粹根据其数量的信用卡types。 有谁知道一个确定的,可靠的方式来find这个?