咨询热线:

187 - 6397 - 2757

当前位置: 首页 > 新闻列表 > 新闻资讯

高中数学排序法“冒泡排序”,编程的核心算法之一,看软件工程师如何解答「济南机器人编程 - 山东机器人编程 - 机器人编程」山东首家少儿无人机编程培训学校

    问题:什么是冒泡排序?

    答:  冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。

    它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。

    这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。

    他的原理是什么呢?

       1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。

       2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

       3.针对所有的元素重复以上的步骤,除了最后一个。

       4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

    如果还不明白通过一个简单的图去阐述下什么是冒泡排序,如下图:

高中数学排序法“冒泡排序”,编程的核心算法之一,看软件工程师如何解答「济南机器人编程 - 山东机器人编程 - 机器人编程」山东首家少儿无人机编程培训学校(图1)

    经过第一轮的七次冒泡,数列中最小的数字1被“冒泡”到了最顶部,那么,下一轮的冒泡就会把第二小的数字2冒泡到数列的第二位,在1之后了,程序继续进行......直到小数都冒泡到顶部大数沉淀到下部,这样儿就实现了对链表数列的由小到大排序了,接下类我们在编程中用程序来实现这个算法!

    本篇文章重点:

    (1)了解冒泡排序法的核心思想。

    (2)能够通过scratch编程实现对一个随机数列的冒泡排序

高中数学排序法“冒泡排序”,编程的核心算法之一,看软件工程师如何解答「济南机器人编程 - 山东机器人编程 - 机器人编程」山东首家少儿无人机编程培训学校(图2)

    程序代码如下:

高中数学排序法“冒泡排序”,编程的核心算法之一,看软件工程师如何解答「济南机器人编程 - 山东机器人编程 - 机器人编程」山东首家少儿无人机编程培训学校(图3)

    创建list链表子程序:

高中数学排序法“冒泡排序”,编程的核心算法之一,看软件工程师如何解答「济南机器人编程 - 山东机器人编程 - 机器人编程」山东首家少儿无人机编程培训学校(图4)

    冒泡排序算法子程序:

高中数学排序法“冒泡排序”,编程的核心算法之一,看软件工程师如何解答「济南机器人编程 - 山东机器人编程 - 机器人编程」山东首家少儿无人机编程培训学校(图5)

    程序运行结果:

高中数学排序法“冒泡排序”,编程的核心算法之一,看软件工程师如何解答「济南机器人编程 - 山东机器人编程 - 机器人编程」山东首家少儿无人机编程培训学校(图6)

    输入数字 “30”;

高中数学排序法“冒泡排序”,编程的核心算法之一,看软件工程师如何解答「济南机器人编程 - 山东机器人编程 - 机器人编程」山东首家少儿无人机编程培训学校(图7)

    生成一个长度为30的随机数列,你可以检查一下,里面有没有重复数字?

高中数学排序法“冒泡排序”,编程的核心算法之一,看软件工程师如何解答「济南机器人编程 - 山东机器人编程 - 机器人编程」山东首家少儿无人机编程培训学校(图8)

    回答数字“y”

高中数学排序法“冒泡排序”,编程的核心算法之一,看软件工程师如何解答「济南机器人编程 - 山东机器人编程 - 机器人编程」山东首家少儿无人机编程培训学校(图9)

    排序结果:

高中数学排序法“冒泡排序”,编程的核心算法之一,看软件工程师如何解答「济南机器人编程 - 山东机器人编程 - 机器人编程」山东首家少儿无人机编程培训学校(图10)

    总结:经过本篇文章的讲解,同学们学会了吗?试着优化本节课程序,看看你有有没有更好的算法思路呢!

    试想一下,冒泡排序都有哪些应用呢?什么领域或者是程序设计需要用到冒泡排序?


    这个时候,家长们你还认为编程就是给孩子增加一个兴趣吗?"编程"+"数学"结合,巧解奥数题 - 水手分椰子,作为家长的你会吗?(图11)"编程"+"数学"结合,巧解奥数题 - 水手分椰子,作为家长的你会吗?(图12)"编程"+"数学"结合,巧解奥数题 - 水手分椰子,作为家长的你会吗?(图12)"编程"+"数学"结合,巧解奥数题 - 水手分椰子,作为家长的你会吗?(图12)

    计算机是不是很强大呀!但前提是你要会编程呀!只有会编程,你才能让计算机替你解决问题呀!别担心,编程其实也没有想象那么难!只要你愿意学。小云解读:如何通过编程解决数学题 - 求数值累加之和(图3)小云解读:如何通过编程解决数学题 - 求数值累加之和(图4)小云解读:如何通过编程解决数学题 - 求数值累加之和(图4)

    当然,无人机编程就更加深奥,比如我们看下面的视频吧!

    无人机能六架一起起飞?没错!那他又和数学有什么关系呢?

    小云说啦!这是根据我们数学中的坐标轴的 x轴 y轴 初始化无人机位置,无人机与无人机之间的距离、架数的多少,全部需要通过精密的计算,否则无法编排出理想的造型

    现在作为家长的你!还在纠结无人机编程是否对孩子有帮助吗?


无人机编程能做什么?人脸识别?智能跟随?自动飞行?还有吗?

答案:有!那就是"无人机编舞"!不知道无人机如何编舞?快看下面我们速云小童鞋的无人机编舞吧!!


    无人机编程都学习哪些内容呢?

       让无人机与编程结合?

没错!就是要让孩子“动手”+“编程”实现无人机起飞。

重点培养孩子逻辑思维能力与动手操作能力,让孩子在编写无人机程序的时,无形的锻炼孩子的逻辑思维能力和前沿科技的运用能力,在飞行学习中,孩子们需了解飞机的机械结构,练习手眼协同能力,甚至自己组装飞行器;在编程中,无人机可以在三维空间中,用摄像头完成巡线、人脸识别等人工智能任务。

例如:人脸识别,智能跟随,红外线定稿,光流定位、无人机编舞等。


无人机编程(图1)



当你的孩子还在学习机器人编程时,别人家的孩子却已经学习起了“无人机编程”(图7)

看我们小童鞋们上课视频吧

    坦克编程都学习哪些内容呢?

    动手组装”+“编写程序”

    通过编程将抽象理论与实践操作合二为一,让孩子重新理解知识,体验人工智能,培养独立思考的习惯和动手解决问题的能力。

    课程涉及机器人拼装、力学等数理知识,运用六类人工智能模块,编写专属的自动驾驶算法程序,让孩子更加深入理解人工智能技术。

    例如:人脸识别、智能跟随等前沿技术。


当你的孩子还在学习机器人编程时,别人家的孩子却已经学习起了“无人机编程”(图8)


当你的孩子还在学习机器人编程时,别人家的孩子却已经学习起了“无人机编程”(图9)

在线客服
热线电话

微信客服

微信公众账号