【十分钟学个算法】· 冒泡排序算法

一、冒泡排序的诞生 / 第一个应用场景

        1960年,英国计算机科学家霍尔在参加英国国家物理实验室的俄文机械翻译项目时,为了提高翻译效率而提出冒泡排序(只存在此说法,无实证)。

        当时俄文到英文的词汇列表是以字母顺序存储在一条长磁带中,翻译词汇时需遍历磁带,从而获取译文。当有一整段俄文句子需要翻译时,为了提高效率,往往将句子的词按照字母顺序先行排序,这样就能只遍历一遍磁带,就获得译文。

        例如一个有5个词组成的俄文句子,如果不提前排序,需要遍历5遍磁带才能获得英文译文,若提前将其按字母排序,则机器只需要在1次磁带遍历中获取全部译文。而冒泡排序,就是霍尔想出的应用于句子词语排序的算法。

        冒泡排序的效率不高,但是十分简单易懂,作为学习算法的敲门砖,堪称算法界的Hello World!

二、冒泡排序的应用

        唯一应用场景:应聘面试。

        冒泡排序受限于其效率,在实际应用中几乎没有用武之地,但由于其过于经典,过于简单,经常出没于应聘面试的第一轮,甚至说出 “你连冒泡排序都写不出来,还当什么程序员” 这样的言语也丝毫不为过。

        很简单,你可以不懂太多算法,但连算法界的Hello Wrold都不会,就太过分了。

三、冒泡排序的原理及实现

        冒泡排序的原理基本可以用三句话概括:

        1、对于一个长度为n的数组,从头开始比较相邻的元素,如果前者大于后者,则交换。

        2、顺着数组下标依次

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值