大数据常用基本算法 双冒泡排序双向冒泡算法的原理及应用_今日热议
(资料图)
1、冒泡排序
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大 到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有 相邻元素需要交换,也就是说该元素已经排序完成 这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序 排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序” 冒泡排序算法的原理如下: 1)比较相邻的元素。如果第一个比第二个大,就交换他们两个 2)对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后 的元素应该会是最大的数 3)针对所有的元素重复以上的步骤,除了最后一个 4)持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较 列如: 数组元素> 5 1 7 2 6 4 3 16 1)由于第一个元素5比第二个元素大1,交换它们的位置。 1 5 7 2 6 4 3 16 2)对比每个相邻的元素,此时到第二个元素5与第三个元素7,不交换位置 1 5 7 2 6 4 3 16 3)对比每个相邻的元素,此时到第三个元素7与第四个元素2,交换位置 1 5 2 7 6 4 3 16 4)对比每个相邻的元素,此时到第四个元素7与第五个元素6,交换位置 1 5 2 6 7 4 3 16 5)对比每个相邻的元素,此时到第五个元素7与第六个元素4,交换位置 1 5 2 6 4 7 3 16 6)对比每个相邻的元素,此时到第六个元素7与第七个元素3,交换位置 1 5 2 6 4 3 7 16 6)对比每个相邻的元素,此时到第七个元素7与第八个元素16,不换位置 1 5 2 6 4 3 7 16
2、双冒泡排序
双向冒泡算法,极大的减少了循环排序的次数 1)传统冒泡气泡排序的双向进行,先让气泡排序由左向右进行,再来让气泡排序由右往 左进行,如此完成一次排序的动作 2)使用left与right两个旗标来记录左右两端已排序的元素位置 3)当往左递进left >=往右递进的 right时,则排序完成 例子如下所示: 排序前:45 19 77 81 13 28 18 19 77 11 往右排序:19 45 77 13 28 18 19 77 11 [81] 向左排序:[11] 19 45 77 13 28 18 19 77 [81] 往右排序:[11] 19 45 13 28 18 19 [77 77 81] 向左排序:[11 13] 19 45 18 28 19 [77 77 81] 往右排序:[11 13] 19 18 28 19 [45 77 77 81] 向左排序:[11 13 18] 19 19 28 [45 77 77 81] 往右排序:[11 13 18] 19 19 [28 45 77 77 81] 向左排序:[11 13 18 19 19] [28 45 77 77 81] 此时28>=19条件成立排序完成
3、快速排序
快速排序(Quicksort)是对冒泡排序的一种改进 快速排序的基本思想:首先选取一个记录作为枢(shu)轴,不失一般性,可选第一个记 录,依它的关键字为基准重排其余记录,将所有关键字比它大的记录都安置在它之后,而将所有关键字比它小的记录都安置在之前,由此完成一趟快速排序;之后,分别对由一趟排序分割成的两个子序列进行快速排序,在大数据情况下要使用快速排序 列如: 数组元素> 5 1 7 2 6 4 3 16 思路: 取第一个数,把小于它的数往左移动,把大于它的数右移动 1)最左侧大于5的为7,最右侧小于5的为3,7与3对调 以5为枢轴> 5 1 3 2 6 4 7 16 2)全部对调完成,此时左侧小于5,右边大于5 5 1 3 2 | 6 4 7 16 3)5移动到分割位置 1 3 2 5 6 4 7 16 4)如果把数组元素分为三部分的话 左侧<中间<右侧 1="" 2="" 3="" 4="" 5="" 6="" 7="" 16=""> 1 2 3 此时左侧 6 4 7 16 > 4 6 7 16 简单来说:定义基数,比它小的往左排,比它大的往右排
4、归并排序
归并排序(MERGESORT) 是建立在归并操作上的一种有效的排序算法,该算法是采用 分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到 完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并 成一个有序表,称为二路归并 归并操作(merge),也叫归并算法,指的是将两个顺序序列合并成一个顺序序列的方法 如 设有数列1 8 2 9 3 5 6 4 10 1)第一次归并后:{1 8},{2 9},{ 3 5},{ 4 6},{10}此时两两元素排序完的归并 2)第二次归并后:{1 2 8 9},{ 3 4 5 6} ,{10}此时两两元素归并 1与2 寻找最小数 1 8与2 寻找最小数 2 8与9寻找最小数 8 {1 2 8 9} 3)第三次归并后:{1 2 3 4 5 6 8 9} , {10}此时两两元素归并 1与3寻找到最小数1 {1} 2与3寻找最小数2 {1 2} 8与3寻找最小数3 {1 2 3} 8与4寻找最小数4 {1 2 3 4} 8与5寻找最小数5 {1 2 3 4 5} 8与6寻找最小数6 {1 2 3 4 5 6} 8 9 落下{1 2 3 4 5 6 8 9} 4)第四次归并后:{1 2 3 4 5 6 8 9 10} 思路:循环找到最小值落下
标签:
相关推荐:
最新新闻:
- 大数据常用基本算法 双冒泡排序双向冒泡算法的原理及应用_今日热议
- 世界播报:excel下拉菜单怎么做?excel系列软件最新版本下载
- 每日观察!ps图层蒙版怎么使用?ps图层蒙版使用步骤
- 海康威视硬盘录像机报价是多少?海康威视硬盘录像机报价及功能介绍
- excel高级筛选怎么用?excel高级的用法步骤 全球热文
- 穿越火线:nsiserror怎么解决?重新下载再安装
- 手机音乐播放器哪个好?常用的手机播放器有哪些? 焦点热讯
- prisma怎么用?Prisma有没电脑版?
- 一个手机号可以注册两个微信账号吗?注册流程是什么?
- iPhone 14黄色版本周发布:5399价格不变:最资讯
- 天天微头条丨android休眠唤醒机制分析(二):Android休眠流程
- hexagon净水器好不好?hexagon净水器产品优点介绍-世界快报
- Word中的表格如何调整?Word表格调整技巧 每日视点
- Word怎么设置图片透明度?Word设置图片透明度小技巧-世界简讯
- 天天热门:华为荣耀4C什么配置参数?华为荣耀4C标配有什么?
- 要闻速递:28英寸4K+144Hz显示器到手仅1999元
- usb3.0不能用怎么办?usb3.0不能使用的解决办法_天天快资讯
- 世界实时:虚拟机怎么安装?vmware虚拟机安装教程
- 百度快照是什么?百度快照的相关内容介绍:全球微头条
- XP如何升级Win10?360免费升级正版win10教程:热头条
- iPhone SE 4今年发布:全面屏幕 很像Xr:焦点热文
- 当前关注:word中如何设置文本的首行缩进?word文本首行缩进设置方法
- 手机系统怎么升级?刷机有风险吗?
- 环球焦点!电脑功耗等于电源瓦数吗?菜鸟进阶篇之电脑功耗测算方法
- 佳能a800相机价格是多少?佳能a800相机价格及评测
- 热消息:全球最权威的学术期刊之一——《科学》
- 世界播报:抽象是什么?为什么学Java会遇到抽象?
- AMCAP程序详解:AMCeGraphBuilder
- 环球观察:UCB1策略和公式的理解 解决探索与利用平衡问题
- Mockplus:简洁高效的原型设计工具 轻松入门-环球快看
- iPhone 15屏幕曝光:灵动岛挖孔屏 但还是60Hz 环球速看
- java的序列化机制是什么?java序列化ID的作用:世界热闻
- rolling(k)函数的用法详解 例子说明rolling函数的用法
- 天天时讯:cdn加速测试:又拍云每个月免费提供15g流量
- 当前头条:堆与栈有什么区别?堆与栈的区别详细总结
- 什么是数据库索引?MySQL官方对索引的定义及索引优劣势分析:每日速读
- 环球要闻:Linux ora-12514多实例 ORA-12514: 错误的解决
- 组态软件是什么?组态软件在工业控制领域的应用:全球通讯
- 微信支付如何关闭“自动扣费”?关闭微信自动扣费的方法步骤 全球报资讯
- Glance详解——后台运行的服务程序
- 被喻为计算机界的诺贝尔奖——TurinSAC
- 世界信息:程序、进程和线程——多线程的创建方法
- 观速讯丨数字解谜游戏——数独直观法解题技巧
- 从高层到底层所有人的战略语言——BLD
- (java8)遍历JSONArray拼接字符串的两种方法|天天最资讯
- 与熊论道为什么解码不了?“熊”孩子都有哪些表现?_世界快看点
- 英国女子号称“现实版睡美人” 每天昏睡22小时
- 环球速递!《神领编年史》新更新上线 SE移除D加密技术
- 2023年2月PS5在英国的销量暴涨316%
- 全球消息!《死亡细胞》重返恶魔城DLC发布上市预告
- 《宝可梦:朱/紫》1.2更新后部分玩家存档被删除:环球要闻
- Wii U用户重创:任天堂下架马里奥赛车和斯普拉遁
- 烧白做法_烧白如何做
- 国外团队开发出突破性隐形眼镜 可防干眼症 速递
- 热消息:《忍者神龟:变种大乱斗》首曝中字预告 “龟”来依旧是少年
- 红楼梦十二金钗判词|环球热闻
- 当前热讯:男子用微缩模型还原高启强老家:做了11天 约400个配件
- 戴尔推出AW620M无线鼠标 DPI最高26000
- 焦点热议:百威亚太(01876):高端啤酒龙头国内市场“遇冷记”
- 外媒锐评《自杀小队》服务模式:都想学《命运》?
- 《古墓丽影》重启作发售10周年纪念 官方发文庆贺 新视野
- 《大航海时代:起源》现已在Steam免费发售 支持中文配音
- 修培刻灵“蕉仙素”是非药物疗法与现代生物科技的结晶
- 小米MIUI 14迎来最新升级!MIUI相机史诗级更新(附刷机包下载)
- 华语悬疑剧《模仿犯》新预告:3.31网飞独家上线:环球聚看点
- 一本院校回应招聘会有洗碗工岗位 不只面向学生
- 澳大利亚将对猫咪实行“宵禁” 逃跑出门或被处决
- 电视剧山河令演员表|环球观点
- 【当前热闻】荣耀发布四款MagicBook笔记本,主要特点一览
- 看片太爽了!极空间 Z4s NAS 售价新低:2899元
- 每日热文:CDPR发布《巫师3:狂猎》萝卜介绍 网友:不是叫葡萄吗
- 《美生中国人》制作花絮:杨紫琼、吴彦祖玩转校园_当前最新
- 《龙珠斗士Z》官方宣布仍将调整平衡性 新更新稍后实施:环球速递
- 新资讯:《火焰纹章:结合》DLC第三弹纹章士介绍影片公开
- 每日讯息!Furyu ARPG新作《恸哭机巧》OP动画公开