比奇屋

最新地址:www.biqi5.com
比奇屋 > 编程之战 > 第三十三章 非空子集

第三十三章 非空子集

杨成却是驻足,耐心地思考起来,毕竟他是来解决问题的。

比如说有序列{1,2,3,4},它的非空子集包括:

{{1},{2},{3},{4},{1,2},{1,3},{1,4},{2,3},{2,4},{3,4},{1,2,3},{1,2,4},{1,3,4},{2,3,4},{1,2,3,4}}

总共有15项。

而空集并没有被统计在内。

传统的求子集方法在这个问题上可能派不上用场。

如果对性能有要求,比如集合的大小可能达到50甚至更多,那么使用递归耗费的时间就太长了。

好在我们无须求子集具体的内容,单单只需要求数目,所以可以借助一个公式。

(注意不是序列,集合没有重复的元素)

如果一个集合,它有n个元素,那么,该集合就有2的n次方个子集。

这个子集是包含空集和自身的,所以要求非空子集,就可以用2^n-1来计算。

杨成拾起一块小小的粉笔,在黑板的空白处郑重地写下了这个公式。

康托尔生前的学说集合论并不被人认可,他的价值在死后才得以体现。

每一位科学先哲,都值得致以敬意!

杨成感觉在这款游戏中学到更多的,不仅仅是知识,还有一种对待问题的态度。

哪怕是最简单的,一行代码可以搞定的问题,也应该仔细地推敲。

他静静地站立着,感受先贤的气息,直到系统音拉回他的思绪。

“叮!恭喜您完成了求非空子集的相关任务!”

“当前积分69分,击败了全球30%的玩家,请您再接再厉!”

比奇屋 www.biqi5.com