第10讲字典排列法和树形图
知识要点
数学学习中经常会碰到列举有多少种不同情况的问题,要想做到不重复不遗漏,我们可以用以下方法来进行列举:字典排列法和树形图。
字典排列法:从首位开始,按一定的顺序(比如从小到大)枚举第一位,对于每种情况再按从小到大的顺序枚举第二位,依次类推。使用字典排列法时,一定要注意“分类”和“有序”。
树形图:确定起点,按照一定的顺序一一罗列,最后数终点个数。
精典例题
例1:算一算
(1)用1,2,3三张卡片可以组成多少个没有重复数字的三位数?
(2)用数字1,2,3可以组成多少个不同的三位数?(数字可以重复使用)
模仿练习
妈妈买来苹果、香蕉和橘子3种水果,每种都有足够多个。淘气想挑3个水果吃,请问:他一共有多少种选择?
从高位到低位或从低位到高位依次有序选择每个数位上放的数字卡片
例2:在某地有四种不同面值的硬币,假如你恰有这四种硬币各1枚。问共能组成多少种不同的钱数?请你用加法算式一个一个例举出来。
模仿练习
有5 分、1 角、5 角、1 元的硬币各一枚,一共可以组成多少种不同的币值?
例3:小悦、东东、阿奇三个人一共有7本课外书,每个人至少有一本。问小悦、东东、阿奇分别有几本课外书?
按所用硬币数量从少到多或从多到少的顺序有序组成不同的钱数。
4
可将7拆成三个整数,每个数分别对应三个人每人分得的书的数量,找出所有的情况。
1
2 8
模仿练习
汤姆、杰瑞和得鲁比都有蛀牙,他们一起去牙医诊所看病,医生发现他们一共有8颗蛀牙,他们三人可能分别有几颗蛀牙?
精典例题
例4:一个人在三个城市A 、B 、C 中游览。他今天在这个城市,明天就必须到另一个城市。这个人从A 城出发,4天后还回到A 城,那么这个人有几种旅游路线?
模仿练习
甲、乙、丙3个人传球。第一次传球是由甲开始,将球传给乙或丙……经过4次传球后,球正好回到甲手中。那么一共有多少种不同的传球方式?
已知起点和终点以及要选择的步骤的数量和每步选择的要求,可以用树形图来枚举所有的方案,注意第四天要回到A 城,那么第三天就不能在A 城。
精典例题
例5:甲、乙、丙三人玩扑克牌比赛,每局都有一名胜者,规定谁先获胜两局谁就最终就是冠军,最终甲获胜了,一共有多少种不同的情形?
模仿练习
A 、
B 两人比赛乒乓球,先胜3局的为赢,直到决出胜负为止。共有多少种可能的情况?
用树形图把每种获胜的情形列举出来。
家庭作业
1.小明决定去香山、颐和园、圆明园这三个景点旅游。要走遍这三个景点,他一共有多少种不同的游览路线?
2.用数字1、2、3、4可以组成多少个没有重复数字的三位数?
3.用3、7、5三种数字可以组成多少个不同的两位数?
4.小李摆摊卖货,小木偶每个卖1元,大木偶每个卖2元,小李今天一共卖出了5个木偶。小李今天一共卖的钱数有几种可能?
5.甲、乙、丙、丁 4 名同学排成一行.从左到右数,如果甲不排在第一个位置上,乙不排在第二个位置上,丙不排在第三个位置上,丁不排在第四个位置上,那么不同的排法共有多少种?
6.一只青蛙在 A,B,C 三点之间跳动,若此青蛙从 A 点跳起,跳 4 次后仍回到 A 点。这只青蛙一共有多少种不同的跳法?
7.甲、乙两人进行乒乓球比赛,规定谁先胜三场谁胜。现在已知第一场甲胜。请问到决出最后胜负为止。
(1)共有几种不同的情形?(2)其中甲胜的情形有几种?
第三讲排序算法(7.28)(语言提高班) 目录 训练1.明明的随机数(Noip2006普及组第1题) (1) 训练2.众数(masses.cpp) (2) 训练3.车厢重组(carry.cpp) (2) 训练4.军事机密(secret.cpp) (2) 训练5.排名 (3) 训练6.奖学金(Noip2007 普及组第1题) (3) 训练7.统计数字(Noip2007) (5) 训练8.输油管道问题 (5) 训练9.奇数单增序列 (6) 训练10.整数奇偶排序 (6) 训练11:合影效果 (7) 训练12:分数线划定 (7) 训练13:病人排队 (8) 训练14:单词排序 (9) 训练1.明明的随机数(Noip2006普及组第1题) 【问题描述】 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。 【输入文件】 输入文件random.in 有2行, 第1行为1个正整数,表示所生成的随机数的个数:N 第2行有N个用空格隔开的正整数,为所产生的随机数。 【输出文件】 输出文件random.out 也是2行,第1行为1个正整数M,表示不相同的随机数的个数。第2行为M个用空格隔开的正整数,为从小到大排好序的不相同的随机数。 【输入样例】 10 20 40 32 67 40 20 89 300 400 15 【输出样例】 8 15 20 32 40 67 89 300 400
第二十二周用对应法解题 例题1 奶奶去买水果,如果她买4千克梨和5千克荔枝,需花58元;如果她买6千克梨和5千克荔枝,那么需花62元。问1千克梨和1千克荔枝各多少元? 练习一 1,3筐苹果和5筐橘子共重270千克,3筐苹果和7筐橘子共重342千克。一筐苹果和一筐橘子各重多少千克? 2,张老师为图书室买书,如果他买6本童话书和7本故事书需要144元;如果买9本童话书和7本故事书,需要174元。现在张老师买7本童话书和6本故事书,共需多少元? 3,粮店运来一批粮食,4袋大米和5袋面粉共重600千克,2袋大米和3袋面粉共重340千克。一袋大米和一袋面粉各重多少千克? 例题2 学校买足球和排球,买3个足球和4个排球共需要190元,如果买6个足球和2个排球需要230元。一个足球和一个排球各多少元? 练习二 1,5筐番茄和2筐黄瓜共重330千克,3筐番茄和4筐黄瓜共重310千克。一筐番茄和一筐黄瓜各重多少千克? 2,4本练习本和5枝圆株笔共14元,2本练习本和4枝圆珠笔共10元。一本练习本和一枝圆珠笔各多少元?
3,2件上衣和3条裤子共480元,4件上衣和2条裤子共640地。一件上衣和一条裤子各多少元? 例题3 商店里有一些气球,其中红气球和蓝气球共21只,蓝气球和黄气球共28只,黄气球和红气球共29只。红气球、蓝气球和黄气球各有多少只? 练习三 1,小明和小红共12岁,小红和小丽共17岁,小丽和小明共13岁。三人各多少岁? 2,新华书店有批书,故事书和连环画共70本,连环画和科技书共82本,科技书和故事书共76本。三种书各多少本? 3,公园开菊花展,白菊花和黄菊花共152盆,黄菊花和红菊花共128盆,红菊花和白菊花共168盆。三种菊花各几盆? 例题4 三年级三个班种了一片小树林,其中72棵不是一班种的,75棵不是二班种的,73棵不是三班种的。三个班各种了多少棵? 练习四 1,百货商店运来三种鞋子,其中37双不是皮鞋,54双不是运动鞋,51双不是布鞋。三种鞋各运来多少双? 2,一个班同学在做作业,班主任问后得知:全班同学都只做完了语文、数学英语作业其中的一种。有23人没有做完数学作业,有19人没有做完语文作业,有16人没有做完英语作业。做完三种作业
本文由我司收集整编,推荐下载,如有疑问,请与我司联系实现全排列的两种算法:字典序列法以及递归算法(java)2014/10/19 0 一.全排列之字典序列法 /** * 这是一个实现全排列的字典序列算法,可适用于有数据重复以及无数据重复 的字符串----注意:字符要先从小到大排序* 算法描述:例如:645321 的下一个数: * 1.左边的数要大于右边:从最右- 最左,遍历查询是否有邻近左边的数小于右边的 数,有就停止遍历,本例:4 5. * 2.把找到的左边那个数,与其右边的所有数比较,从 右向左逐一比较,找到第一个比它大的,然后交换。本例:比4 大的右边第一个数 是5. * 3.将两个数对换,则字符可分为65,4321,把4321 从小到大排序:1234* 4. 下一个字符序列是:651234. span > * * @param ary //要排列的数组*/public static void dictorySerial(int[] ary1) {Arrays.sort(ary1);System.out.println( 1: + Arrays.toString(ary1));int i = 2;while (true) {int j;for (j = ary1.length - 1; j j--) {if (ary1[j - 1] ary1[j]) {for (int k = ary1.length - 1; k j - 1; k--) {if (ary1[k] ary1[j - 1]) {int temp = ary1[j - 1];ary1[j - 1] = ary1[k];ary1[k] = temp;break;}}int[] ary2 = new int[ary1.length - j];System.arraycopy(ary1, j, ary2, 0, ary2.length);Arrays.sort(ary2);System.arraycopy(ary2, 0, ary1, j, ary2.length);System.out.println((i++) + : + Arrays.toString(ary1));break;}}if (j == 0) {break;}}}二.全排列之递归算法 /** * 这是关于java 全排列的递归算法,本算法不适用于字符串中有重复数字。- --注意:交换两个数后,后面要在交换过来,不要影响要排列的字符序列(*)* 算法过程:如:123 的全排列:* 1.可以看成:以1 开头的全排列,以2 开头的全 排列,以3 开头的全排列/span 表示成1(23),2(13),3(12)的全排列,即23 全排列,13 全排列,12 全排列. span > span > span > span > span > span > span > span > span > span > span > span > span >public static void recurrence(int[] ary2, int start, int end) {if (start == end) {System.out.println((++i) + : + Arrays.toString(ary2));} else {for (int i = start; i = end; i++) {swap(ary2, start, i);recurrence(ary2, start + 1, end);swap(ary2, start, i);System.out.println(Arrays.toString(ary2));}}}public static void swap(int[] ary2, int start,
小学生查字典口诀 学查字典并不难,偏旁部首看端详。 没有部首查起笔,形声字儿查形旁; 头底两层是部首,要让字头当偏旁; 左右两边是部首,取左去右有保障; 内心外壳是部首,舍去里边查外框; 整个字儿是部首,此字本身是偏旁; 一字头上生“二角”,取其下底把“角”砍; 下底如果不成部,左上角当此字旁; 有些生字较特殊,顶天立地当偏旁; 多查多想抓规律,相同部首不能忘。 查字典常用的三种方法是: 音序查字法、部首查字法和数笔画查字法。 ?如果很容易确定部首,但不确定读音就可以用部首查字法;?如果知道读音,但不会写这个字,就用音序查字法; ?如果是独体字就用数笔画查字法。
字、词典是无声的老师,这位老师随时会帮你解决疑难,扫除 学习中的“拦路虎”。你会只花少量的时间,非常方便地得到 较多、较全面、较准确的知识。熟练查字、词典,首先要学会 检字。下边以《新华字典》为例介绍这几种查字法。 一、音序查字法 音序检字法是按字音查字词的一种方法。很多字典或词典是按汉语拼音字母的顺序编排的。根据一个字的汉语拼音第一个字母,就可以在“汉语拼音音节表”中找到这个字的拼音音节在正文中的页码,再按照这个字的声调到那一页中去找。凡是要查只知道读音而不知道写法或意义的字,都可以用这种方法,但必须熟悉汉语拼音字母顺序和汉语拼音音节。 运用条件: ①字音要读得正确; ②准确无误地了解这个字的声母、韵母; ③掌握字母的写法。 知道了这个字的读音,不知道它的写法,或不知道它的意思, 就必须运用音序查字法查字。 查字步骤: ①确定音部。按要查字的读音确定音节的第一个字母——音部。
②查音节索引。在《汉语拼音音节索引》中所确定的音部栏里,找出要查字的音节,并看准该音节后面所标的正文页码。 ③翻阅正文。按页码翻阅正文,找出要查的字。 在学习中遇到不理解的字或不会写的字,只要能读准字音,就可以运用音序检字法去查检。 下面的歌诀,可以帮助同们掌握这种检字法: 音序检字须认真,读准字音很要紧。 打头字母定音部,再找音节看《索引》; 按照例字找同音,对照页码翻正文; 根据声调找汉字,字形字义记在心。 部首检字法:部首检字法属于按形查字中的一种方法。它是根据汉字的部首去查检的。凡字典正文中的单字是按部首归类进行排列的,都可以运用部首检字。 部首检字的基本步骤? ⑴确定出部首。先对所要查的字确定出查什么部。 ⑵查《部首目录》。在《部首目录》中查出该部首在《检字表》中的页码。 ⑶查《检字表》。按照页码在《检字表》中这个字的余画(即除去部首还余几画)里查出这个字在字典正文中的页码。
用对应法解题 1 .奶奶去买水果,如果她买4千克梨和5千克荔枝,需花58元;如果她买6千克梨和5千克荔枝,那么需花62元。问1千克梨和1千克荔枝各多少元? 2 .3筐苹果和5筐橘子共重270千克,3筐苹果和7筐橘子共重342千克。一筐苹果和一筐橘子各重多少千克? 3 .张老师为图书室买书,如果他买6本童话书和7本故事书需要144元;如果买9本童话书和7本故事书,需要174元。现在张老师买7本童话书和6本故事书,共需多少元? 4 .粮店运来一批粮食,4袋大米和5袋面粉共重600千克,2袋大米和3袋面粉共重340千克。一袋大米和一袋面粉各重多少千克?
5 .学校买足球和排球,买3个足球和4个排球共需要190元,如果买6个足球和2个排球需要230元。一个足球和一个排球各多少元? 6 .5筐番茄和2筐黄瓜共重330千克,3筐番茄和4筐黄瓜共重310千克。一筐番茄和一筐黄瓜各重多少千克? 7 .4本练习本和5枝圆株笔共14元,2本练习本和4枝圆珠笔共10元。一本练习本和一枝圆珠笔各多少元? 8 .2件上衣和3条裤子共480元,4件上衣和2条裤子共640地。一件上衣和一条裤子各多少元? 9 .商店里有一些气球,其中红气球和蓝气球共21只,蓝气球和黄气球共28只,黄气球和红气球共29只。红气球、蓝气球和黄气球各有多少只?
10 .小明和小红共12岁,小红和小丽共17岁,小丽和小明共13岁。三人各多少岁? 11 .新华书店有批书,故事书和连环画共70本,连环画和科技书共82本,科技书和故事书共76本。三种书各多少本? 12 .公园开菊花展,白菊花和黄菊花共152盆,黄菊花和红菊花共128盆,红菊花和白菊花共168盆。三种菊花各几盆? 13 .三年级三个班种了一片小树林,其中72棵不是一班种的,75棵不是二班种的,73棵不是三班种的。三个班各种了多少棵?
第2次课枚举法中的字典排列 小热身 体会一下,“分给两个人”和“分成两堆”有什么区别呢? (1)把5个苹果全部分给两个人,共有多少种不同的分法? (2)把5个苹果分成两堆,共有多少种不同的分法? 例题1:卡莉娅、墨莫、小高三个人去游乐园玩,三人在藏宝屋中一共发现了4件宝物,三人找到的宝物数量共有多少种不同的可能?(可能有人没有发现宝物) 练习1:老师准备了6个笔记本奖励萱萱、小高、墨莫三人,每人至少得到1本笔记本,请问:老师有多少种不同的奖励方法? 例题2:老师要求每个同学写出3个自然数,并且要求这3个数的和是8。如果两个同学写出的3个自然数相同,只是顺序不一样,则算是同一种写法。试问:同学们最多能得出多少种不同的写法? 练习2:三个大于0的整数之和(数与数可以相同)等于10,共有多少组这样的三个数?
例题3:如下图所示,有7个按键,上面分别写着1、2、3、4、5、6、7这七个数字。请问: (1)从中选出2个按键,使它们上面的数字的差等于2,一共有多少种选法? (2)从中选出2个按键,使它们上面的数字的和大于9,一共有多少种选法? 练习3:有一次,著名的探险家大米得到一个宝箱,但是宝箱有密码锁,密码锁下面有一行小字,密码是和大于11的两个数,而且这两个数不能相同,不用考虑数的先后顺序,你知道密码共有多少种可能吗? 例题4:如图,数一数图中包含星星的长方形(包括正方形)有多少个? 练习4:如图,数一数图中包含星星的正方形有多少个?
作业: 1、有4支完全相同的铅笔要分给3位同学,每位同学至少分1支,共有多少种不同的分法? 2、有面值分别为1元、10元和50元的纸币若干,每种面值的纸币张数都大于 3、如果从中任意取3张,那么能组成的钱数共有多少种? 3、从1、2、3、 4、 5、6这六个数字中选出2个数字,使它们的数字的差等于2,一共有多少种选法? 4、数一数,下图包含星星的长方形(包括正方形)有多少个? 5、在下图中,一共能找出多少个含“☆”的三角形。
算法分析与设计实验报告 第 2 次实验
这次的实验和上一次的字典序问题有一些相似,主要不同的地方在于要写出下 附录:完整代码 #include