课后作业
# 第三十二课
如无过程,上传图片中阐明思路也可以,或者涉及哪些知识点,也可以写出来
# 1. 后缀表达式 623+-382/+*2^3+
对应的中缀表达式是( )
- A. ((6-(2+3))*(3+8/2))^2+3
- B. 6-2+3*3+8/2^2+3
- C. (6-(2+3))*((3+8/2)^2)+ 3
- D. 6-((2+3)*(3+8/2))^2+3
- ✅
- 历史解析:
- 正确答案:A 、((6-(2+3))*(3+8/2))^2+3
- 希望能看到更多的解析过程,比如演算纸上的过程,或者是思路的描述
# 2. 对表达式 a+(b-c)*d
的前缀表达式为( ),其中+、-、*是运算符
- A. *+a-bcd
- B. +a*-bcd
- C. abc-d*+
- D. abc-+d
- ❌
- 历史解析:
- 正确答案:B 、+a*-bcd
- 一般我们说表达式,默认指的是中缀表达式,也叫算法表达式
- 对于中缀表达式,我们可以通过转换得到前缀表达式
- 我们可以用加括号法,首先按照优先级➕括号
a+(b-c)*d
=>a+((b-c)*d)
=>(a+((b-c)*d))
- 然后我们按照优先级,去括号,并将运算符放在前面
(a+((b-c)*d))
=>(a+(-(bc)*d))
=>(a+(*-bcd))
=>+a*-bcd
- 所以正确答案是 B
# 3. 表达式 a*(b+c)*d
的后缀表达式为( ),其中“*”和“+”是运算符
- A. **a+bcd
- B. abc+* d *
- C. abc+d**
- D. * a *+bcd
- ❌
- 历史解析:
- 正确答案:B 、abc+* d *
- 同上题,我们可以用加括号法,首先按照优先级➕括号
a*(b+c)*d
=>(a*(b+c))*d
=>((a*(b+c))*d)
- 然后我们按照优先级,去括号,并将运算符放在后面,注意,我们算的是后缀表达式,所以运算符在后面
((a*(b+c))*d)
=>((a*(bc)+)*d)
=>(((a(bc))+*)*d)
=>abc+* d *
- 所以正确答案是 B
# 4. 六个人,两个人组一队,总共组成三队,不区分队伍的编号。不同的组队情况有( )种
- A. 10
- B. 15
- C. 30
- D. 20
- ✅
- 历史解析:
- 正确答案:B 、15
- 从6个人中选取2个人组成一队,总共有 C(6,2) 种选法
- 从剩下的4个人中选取2个人组成一队,总共有 C(4,2) 种选法
- 剩下的2个人组成一队,总共有 C(2,2) 种选法
- 但是由于队伍的编号不区分,所以需要除以 3! 来去重
- 所以总共的组队情况有 C(6,2) * C(4,2) * C(2,2) / 3! = 15 种
点击查看详尽解析
问题分析 我们有6个人,要分成3队,每队2人,并且不区分队伍的编号。这意味着我们要找出所有不同的分队组合,而不考虑队伍的顺序。
运算思路
选取第一队:从6个人中选择2个人,选法有 种。
- 公式:
选取第二队:从剩下的4个人中再选择2个人,选法有 种。
- 公式:
选取第三队:剩下的2个人只能组成一个队,所以选法有 种。
- 公式:
除去重复的情况:由于队伍的编号不区分,三队可以交换顺序,因此需要除以 来去重。
- 公式:
- 最终计算 总的组队情况数为:
- 结论 不同的组队情况有 15 种。
# 5. 把8个同样的球放在5个同样的袋子里,允许有的袋子空着不放,问共有多少种不同的分法?( )
提示:如果8个球都放在一个袋子里,无论是哪个袋子,都只算同一种分法
- A. 24
- B. 18
- C. 20
- D. 22
- ✅
- 历史解析:
- 正确答案:B 、18
- 可以穷举、可以根据空袋子个数来划分组合
# 排列和组合有什么区别?为什么一个是n的阶乘,一个是二项式系数?
排列和组合是数学中常用的两种计数方法,它们主要用于解决如何从一组元素中选择和排列这些元素的问题。它们的主要区别在于是否考虑元素的顺序。
排列(Permutation)
排列是指从一组元素中选择一部分或全部元素并考虑它们的顺序的方式。排列的公式是:
其中:
- 是总元素的数量。
- 是每次选择的元素数量。
- 是 的阶乘,即 。
例子:从5个人中选出3个人,并考虑他们的顺序,例如123、132、213、231、312、321,这些都是不同的排列。
组合(Combination)
组合是指从一组元素中选择一部分元素而不考虑顺序的方式。组合的公式是:
其中:
- 是总元素的数量。
- 是每次选择的元素数量。
- 是 的阶乘。
例子:从5个人中选出3个人,并不考虑他们的顺序。例如123、132、213、231、312、321 这些都是相同的组合。
总结
- 排列:考虑顺序,使用 和 计算。
- 组合:不考虑顺序,使用 计算。
排列的计算涉及阶乘,因为它考虑了所有可能的顺序,而组合则通过将排列的结果除以 (因为每组组合内的元素顺序不重要)来消除重复。
# 排列,什么时候用n!什么时候用n!/(n-k)!?
在排列问题中,什么时候用 和什么时候用 取决于具体的情境。
使用 的情境
当我们要对一组 个元素进行全排列时,我们使用 。全排列意味着我们要对所有元素进行排序,考虑所有可能的顺序。
例子: 有三个元素 ,我们要对这三个元素进行全排列,结果是:
这些排列的总数是 ,即 。
使用 的情境
当我们要从 个元素中选择 个元素进行排列时,我们使用 。这叫做部分排列或排列组合。
公式:
例子: 有五个元素 ,我们要从中选择三个元素进行排列,结果是:
解释:
- 首先,我们计算 ,这是从所有 个元素中进行排列的总数。
- 然后,我们除以 ,这是从剩下的 个元素中进行排列的总数,因为这部分排列我们不需要考虑。
总结
- 使用 :当你需要对所有 个元素进行全排列时。
- 使用 :当你需要从 个元素中选择 个元素进行排列时。
理解这两种情况的区别有助于正确应用排列的概念和公式,解决相关的组合数学问题。