博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
排序算法-09-冒泡排序(Bubble Sort)
阅读量:2384 次
发布时间:2019-05-10

本文共 1243 字,大约阅读时间需要 4 分钟。

##Basics Sorting - 基础排序算法 算法复习——排序

###算法分析

  1. 时间复杂度-执行时间(比较和交换次数)
  2. 空间复杂度-所消耗的额外内存空间
  • 使用小堆栈或表
  • 使用链表或指针、数组索引来代表数据
  • 排序数据的副本

对具有重键的数据(同一组数按不同键多次排序)进行排序时,需要考虑排序方法的稳定性,在非稳定性排序算法中需要稳定性时可考虑加入小索引。

稳定性:如果排序后文件中拥有相同键的项的相对位置不变,这种排序方式是稳定的。

常见的排序算法根据是否需要比较可以分为如下几类:

  • Comparison Sorting
    1.Bubble Sort
    2.Selection Sort
    3.Insertion Sort
    4.Shell Sort
    5.Merge Sort
    6.Quck Sort
    7.Heap Sort
  • Bucket Sort
  • Counting Sort
  • Radix Sort

从稳定性角度考虑可分为如下两类: -稳定 -非稳定

有关排序法的文章

  • - 各类排序算法的「平均、最好、最坏时间复杂度」总结。
  • - 基于 Python 的较为清晰的总结。
  • - 总结了一些常用常问的排序算法。

##Bubble Sort - 冒泡排序 核心:冒泡,持续比较相邻元素,大的挪到后面,因此大的会逐步往后挪,故称之为冒泡。

此处输入图片的描述

示例

python 冒泡:

#!/usr/bin/env pythondef bubbleSort(alist):    for i in xrange(len(alist)):        print(alist)        for j in xrange(1, len(alist) - i):            if alist[j - 1] > alist[j]:                alist[j - 1], alist[j] = alist[j], alist[j - 1]    return alistunsorted_list = [6, 5, 3, 1, 8, 7, 2, 4]print(bubbleSort(unsorted_list))

php冒泡:

$alist[$j]) { $tmp = $alist[$j - 1]; $alist[$j -1] = $alist[$j] ; $alist[$j] = $tmp; } }}return $alist;} $unsorted_list = array(6, 5, 3, 1, 8, 7, 2, 4); print_r(bubbleSort($unsorted_list));

复杂度分析

平均情况与最坏情况均为 $$O(n^2)$$, 使用了 temp 作为临时交换变量,空间复杂度为 $$O(1)$$.

转载于:https://my.oschina.net/corwien/blog/693472

你可能感兴趣的文章
安全评估问题收集与整理
查看>>
IBM AppScan 7.8.1 更新安全规则库后出现“AppScan Severe Error: Failed to load rules/advisories file”错误的解决方案
查看>>
非常经典的SANS培训课程
查看>>
防火墙相关
查看>>
网络性能测试工具Iperf上手指南
查看>>
opensecuritytraining video
查看>>
collective intelligence framework
查看>>
2015年关注的技术书籍
查看>>
windows 2003 server 记录远程桌面的连接登录日志和修改3389连接端口方法
查看>>
samhain:比较变态的入侵检测系统
查看>>
Linux psacct文档
查看>>
使用setuptools自动安装python模块
查看>>
python IDE环境
查看>>
传说中的windows加固 -.... -
查看>>
windows目录监控软件
查看>>
Virus Bulletin malware分析杂志以及paper
查看>>
Security Considerations for AppLocker
查看>>
Oracle Forensics t00ls
查看>>
JetLeak Vulnerability: Remote Leakage Of Shared Buffers In Jetty Web Server [CVE-2015-2080]
查看>>
aa总发的天下大成网页挂马监控平台(放出注册码,赶紧抢啊)
查看>>