不瞒大家说,今天和同学讨论一个问题:低开、高开、低走、高走,一共有多少个排列组合(当时还不明白排列和组合的具体含义),然后我就说是 A22 * 2,同学说不对,而是 A21 * A21,然后我就开始学习排列组合,因为排列组合在我做“扛精”的道路上已经好几次吃了不懂的亏,通过知乎的一个答案,我彻底明白了:
排列就是一个萝卜一个坑啊,第一个坑有 m 种选择,第二个有 m-1 种,第 n 个有 m-n+1。
算法就是排列公式啊。阶乘知道吧……
组合就是在排列的基础上坑不需要顺序了,一把抓,排列除以坑的全排列就好。
然后我突然发现,这个东西不就是我经常写的代码里面的一些基础思想吗,排序和其他的一些东西。 因此我有感而发,数学中还有什么基础的数学理论,对编程特别特别重要的呢。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.