算法题:如何解决排列组合问题?

2021年3月24日14:36:38 发表评论 796 次浏览

排列:是给定数量的元素一次, 一个或多个或全部一次采用的不同排列方式。例如, 如果我们有两个元素A和B, 则有两个可能的安排AB和BA。

当将" r"个元素排列在总共" n"个元素中时的排列数为n Pr = n! /(n – r)!。例如, 令n = 4(A, B, C和D), r = 2(大小为2的所有排列)。答案是4!/(4-2)! =12。这十二种排列是AB, AC, AD, BA, BC, BD, CA, CB, CD, DA, DB和DC。

组合:是一次或一次或部分或全部选取的给定数量元素的不同选择。例如, 如果我们有两个元素A和B, 则只有一种选择两个项目的方法, 我们选择了两个。

从" n"个元素中总共选择" r"个元素时的组合数为n C r = n! / [((r!)x(n – r)! ]。例如, 令n = 4(A, B, C和D), r = 2(大小均为2的所有组合)。答案是4!/(((4-2)!* 2!)=6。这六个组合是AB, AC, AD, BC, BD, CD。

n C r = n C(n – r)

注意:在同一示例中, 我们有不同的排列和组合情况。对于置换, AB和BA是两个不同的事物, 但是对于选择, AB和BA是相同的。

样本问题

问题1:

使用单词" DELHI"中的3个字母可以形成多少个单词?

解决方案:

单词" DELHI"有5个不同的单词。

因此, 所需字数=

5

P

3

= 5! /(5 – 3)!

=>所需字数= 5! / 2! = 120/2 = 60

问题2 :

使用" DRIVER"一词中的字母可以形成多少个单词, 以使所有元音始终在一起?

解决方案:

在这些类型的问题中, 我们假定所有元音都是单个字符, 即" IE"是单个字符。

因此, 现在单词中共有5个字符, 即D, R, V, R, IE。

但是, R发生2次。

=>可能的安排数量= 5! / 2! = 60

现在, 两个元音可以排列成2个! = 2种方式。

=>使元音始终在一起的可能单词总数= 60 x 2 = 120

问题3:

在给定的15个选择中, 我们可以从几种方式中选择4名学生组成的团队?

解决方案:

可能的选择方式数量=

15

C

4

= 15! / [(4!)x(11!)]

=>可能的选择方式数量=(15 x 14 x 13 x 12)/(4 x 3 x 2 x 1)= 1365

问题4:

通过从6个男孩中选择3个男孩, 从5个女孩中选择2个女孩, 可以以多少种方式组成5人小组?

解决方案:

可以从6个中选择3个男孩的方式数量=

6

C

3

= 6! / [(3!)x(3!)] =(6 x 5 x 4)/(3 x 2 x 1)= 20

可以从5个中选择2个女孩的方式数量=

5

C

2

= 5! / [(2!)x(3!)] =(5 x 4)/(2 x 1)= 10

因此, 形成组的总数为20 x 10 = 200

问题5:

使用" DRIVER"一词中的字母可以形成多少个单词, 从而使所有元音永远都不会在一起?

解决方案:

我们假设所有元音都是单个字符, 即" IE"是单个字符。

因此, 现在单词中共有5个字符, 即D, R, V, R, IE。

但是, R发生2次。

=>可能的安排数量= 5! / 2! = 60

现在, 两个元音可以排列成2个! = 2种方式。

=>使元音始终在一起的可能单词总数= 60 x 2 = 120

另外, 可能的单词总数= 6! / 2! = 720/2 = 360

因此, 使元音永远不会在一起的可能单词总数= 360 – 120 = 240

排列组合问题套装2

排列组合测验

排列组合练习题

.

本文的贡献者:

Nishant Arora

。如果你对以上讨论的主题有任何疑问, 或者在任何问题上都遇到困难, 或者你想讨论除上述问题之外的其他问题, 请写评论。

如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请发表评论。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: