05 2017 档案
摘要:问题 某乡村小学有六个年级,每个年级有一个班,共六个班。 周一到周五,每天上6节课,共计30节课。 开设的课程 一年级:语(9)数(9)书(2)体(2)美(2)音(2)德(2)班(1)安(1) 二年级:语(9)数(9)书(2)体(2)美(2)音(2)德(2)班(1)安(1) 三年级:语(8)数(8)
阅读全文
摘要:问题 有5件不同的上衣,3条不同的裤子,4顶不同的帽子,从中取出一顶帽子、一件上衣和一条裤子作为一种搭配,问有多少种不同的搭配? 分析 换个角度看,现有头、身、腿三个元素,每个元素都有各自的几种状态。 头元素有['帽1', '帽2', '帽3', '帽4']共4种状态,身元素有['衣1', '衣2'
阅读全文
摘要:问题 找出从自然数1、2、3、...、n中任取r个数的所有组合。 例如,n=5,r=3的所有组合为: 1,2,3 1,2,4 1,2,5 1,3,4 1,3,5 1,4,5 2,3,4 2,3,5 2,4,5 3,4,5 分析 换个角度,r=3的所有组合,相当于元素个数为3的所有子集。因此,在遍历子
阅读全文
摘要:问题 给定N个物品和一个背包。物品i的重量是Wi,其价值位Vi ,背包的容量为C。问应该如何选择装入背包的物品,使得放入背包的物品的总价值为最大? 分析 显然,放入背包的物品,是N个物品的所有子集的其中之一。N个物品中每一个物品,都有 选择 、 不选择 两种状态。因此,只需要对每一个物品的这两种状态
阅读全文
摘要:问题 给定一个迷宫,入口已知。问是否有路径从入口到出口,若有则输出一条这样的路径。注意移动可以从上、下、左、右、上左、上右、下左、下右八个方向进行。迷宫输入0表示可走,输入1表示墙。为方便起见,用1将迷宫围起来避免边界问题。 分析 考虑到左、右是相对的,因此修改为:北、东北、东、东南、南、西南、西、
阅读全文
摘要:问题 8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 分析 为了简化问题,考虑到8个皇后不同行,则每一行放置一个皇后,每一行的皇后可以放置于第0、1、2、...、7列,我们认为每一行的皇后有8种 状态 。那么,我们只要套用子集
阅读全文
摘要:一直不是太理解回溯法,这几天集中学习了一下,记录如下。 回溯法有“通用的解题法”之称。 1.定义: 也叫试探法,它是一种系统地搜索问题的解的方法。 2.基本思想: 从一条路往前走,能进则进,不能进则退回来,换一条路再试。 3.一般步骤: 定义一个解空间(子集树、排列树二选一) 利用适于搜索的方法组织
阅读全文
摘要:分治法所能解决的问题一般具有以下几个特征: 1) 该问题的规模缩小到一定的程度就可以容易地解决 2) 该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质。 3) 利用该问题分解出的子问题的解可以合并为该问题的解; 4) 该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共
阅读全文
摘要:```python 例1. 按照元素出现的次数来排序 seq = [2,4,3,1,2,2,3] 按次数排序 seq2 = sorted(seq, key=lambda x:seq.count(x)) print(seq2) [4, 1, 3, 3, 2, 2, 2] 改进:第一优先按次数,第二优先
阅读全文