01
—
排序法
排序就是把一组数据中的元素按照一定的次序排列在一起。排序算法在很多领域受到相当高的重视,尤其是在大量数据的处理方法。一个优秀的算法可以节省大量的资源。本章节重点讲冒泡排序、选择排序、插入排序。
02
—
冒泡排序
假设列表中有5个数据,依次是32、10、28、51、46,将其按从大到小的顺序重新排列。
冒泡排序法就是依次比较两个相邻的元素,如果顺序错误就把他们交换过来,直到没有相邻元素需要交换。这个名字的由来是因为会经由交换“浮”到数列的顶端,就像水中的气泡一样。
分析:
(1)像水中的气泡一样从底部开始,比较相邻的两个元素,如果顺序错误,就交换,让大的数逐渐浮上来。先比较46和51,顺序正确,不用交换。
(2) 对剩下的每一对相邻元素做同样的操作。一轮比较结束后,最上面的元素就是最大的数,标记为蓝色,访部分称为有序区。
(3) 白色部分仍然处于无序状态,对无序区中所有的元素重复上面的操作,即把无序区中的最大元素浮到有序区的最后一位。
(4)持续对无序区重复上面的步骤,直到排序完毕
程序实现:
03
—
选择排序
它的工作原理是每一次从待排序的数据元素中先出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,放到已排序序列的末尾。以此类推,直到全部待排序的元素排完。
分析:
每次都在无序区中找到最大的元素,放到有序区的末尾。
程序实现:
04
—
插入排序
将无序区中的数据按照顺序一个一个地插入有序区中,该数据在有序区中可以使用顺序查找法找到自己的位置,最终得到的序列就是已经排好的数据。
分析:
一开始默认第一项为有序区,从第二开始,每次都在无序区取出第一个元素,在有序区中寻找正确的位置放入。
插入排序程序实现:
05
—
scratch算法练习集免费领取(含程序)
获取方法:v~x关注少儿编程吕口口,回复“算法”获取。
07
—
scratch素材--软件集成版
给孩子找素材是一件麻烦的事情,找的图片还有可能给孩子扣好背景,或者扣成孩子想要的样子。即使去淘宝买的素材,也要从百度网盘,但素材太多大了或者太多文件,也要充值百度网盘超级会员才能保存,提高下载速度。即使下载了,也要上传,不是特别方便,尤其是不好查找。
口口老师深知各位家长的痛点,将常用素材集成在软件角色和背景库当中,无需上传,只需要角色/背景库中查找。更有每月更新版,让孩子专注于编程,发挥创意即可。
关注即可领取,下载限速,方便快捷。
责任编辑: