| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 前端基本的排序算法 -> 正文阅读 |
|
[数据结构与算法]前端基本的排序算法 |
1.冒泡排序:
通过相邻元素的比较和交换,使得每一趟都能找到未有序数组的最大值或者最小值
时间复杂度:?最好:O(n)???最坏:O(n^2)???最平均:O(n^2)
2.选择排序:
和冒泡排序类似,区别在于是将每个元素和他后面的元素比较交换
时间复杂度:
?最好:O(n^2)
? ?最坏:O(n^2)??
?最平均:O(n^2)
3.插入排序:
以第一个元素作为有序数组,其后的元素通过在这个已有的数组中找到合适的位置并插入
时间复杂度:
?最好:O(n), 原数组已经是升序的。
?最坏:O(n^2)
?最平均:O(n^2)
4.快速排序:1.在数组中选择一个元素作为'基数'; ? 2.所有小于'基数'的元素都移到'基数'左边,所有大于基数的都移到右边。 ? 3.对'基数'左边和右边两个子集不断重复第一步和第二步,直到所有子集只剩下一个元素为止。 ?时间复杂度: 最好:O(nlogn) ?最坏:O(n^2) ?最平均:O(nlogn)
附上菜鸟教程提供的一张相关排序算法的时间复杂度及相关算法讲解链接 点我https://www.runoob.com/w3cnote/ten-sorting-algorithm.html ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/10 2:57:56- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |