数据结构各种排序算法的温习

简介: 数据结构各种排序算法的温习

首先分门别类介绍各种算法的实现,最后汇总比较一下


排序算法


1.插入排序


直接插入排序

A[1…n],从i=2开始,一个一个找,找到A[i]在A[1…i-1]已排序好的位置排序

所以排n-1趟最好O(n),一般是O(n²)


折半插入排序

区别在于,找位置的时候用了二分法,但是注意查找快了,放入数据后的移动次数没有改变

所以还是O(n²)


希尔排序

区别在于每次分组进行直接插入排序,直到只分为一组。

时间复杂度可以突破o(n²)


2.交换排序


冒泡排序

左右交换比较,每次至少可以确定一个位置

时间复杂度O(n²)


快速排序

每次找一个基准,利用双指针法左右移动,找到基准位置,基准左右 大小分明。

时间复杂度O(nlg(n))


3.选择排序


直接选择排序

选好了放位置,比如A[1…i-1]排好了就从A[i…k]选一个放在第i个位置。

时间复杂度固定O(n²)


堆排序

堆排序一般用数组实现(从下标1开始),利用了完全二叉树的性质。

主要算法就是向上调整(插入)和向下调整(删除,建堆)

时间复杂度O(nlog(n))稳定


4.归并排序


二分法的应用。

主要是二分+归并,归并过程是双指针法的应用

o(nlog(n))


至于基数排序,不需要比较,只是分配收集,这里不想多说了

1685020039844.jpg

相关文章
|
5月前
|
存储 监控 安全
企业上网监控系统中红黑树数据结构的 Python 算法实现与应用研究
企业上网监控系统需高效处理海量数据,传统数据结构存在性能瓶颈。红黑树通过自平衡机制,确保查找、插入、删除操作的时间复杂度稳定在 O(log n),适用于网络记录存储、设备信息维护及安全事件排序等场景。本文分析红黑树的理论基础、应用场景及 Python 实现,并探讨其在企业监控系统中的实践价值,提升系统性能与稳定性。
176 1
|
存储 人工智能 算法
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
这篇文章详细介绍了Dijkstra和Floyd算法,这两种算法分别用于解决单源和多源最短路径问题,并且提供了Java语言的实现代码。
859 3
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
|
5月前
|
存储 监控 算法
基于跳表数据结构的企业局域网监控异常连接实时检测 C++ 算法研究
跳表(Skip List)是一种基于概率的数据结构,适用于企业局域网监控中海量连接记录的高效处理。其通过多层索引机制实现快速查找、插入和删除操作,时间复杂度为 $O(\log n)$,优于链表和平衡树。跳表在异常连接识别、黑名单管理和历史记录溯源等场景中表现出色,具备实现简单、支持范围查询等优势,是企业网络监控中动态数据管理的理想选择。
175 0
|
算法 数据处理 C语言
C语言中的位运算技巧,涵盖基本概念、应用场景、实用技巧及示例代码,并讨论了位运算的性能优势及其与其他数据结构和算法的结合
本文深入解析了C语言中的位运算技巧,涵盖基本概念、应用场景、实用技巧及示例代码,并讨论了位运算的性能优势及其与其他数据结构和算法的结合,旨在帮助读者掌握这一高效的数据处理方法。
585 1
|
存储 算法 搜索推荐
Python 中数据结构和算法的关系
数据结构是算法的载体,算法是对数据结构的操作和运用。它们共同构成了计算机程序的核心,对于提高程序的质量和性能具有至关重要的作用
470 153
|
10月前
|
存储 机器学习/深度学习 算法
C 408—《数据结构》算法题基础篇—链表(下)
408考研——《数据结构》算法题基础篇之链表(下)。
403 30
|
10月前
|
存储 算法 C语言
C 408—《数据结构》算法题基础篇—链表(上)
408考研——《数据结构》算法题基础篇之链表(上)。
487 25
|
10月前
|
存储 人工智能 算法
C 408—《数据结构》算法题基础篇—数组(通俗易懂)
408考研——《数据结构》算法题基础篇之数组。(408算法题的入门)
670 23
|
11月前
|
存储 算法 测试技术
【C++数据结构——树】二叉树的遍历算法(头歌教学实验平台习题) 【合集】
本任务旨在实现二叉树的遍历,包括先序、中序、后序和层次遍历。首先介绍了二叉树的基本概念与结构定义,并通过C++代码示例展示了如何定义二叉树节点及构建二叉树。接着详细讲解了四种遍历方法的递归实现逻辑,以及层次遍历中队列的应用。最后提供了测试用例和预期输出,确保代码正确性。通过这些内容,帮助读者理解并掌握二叉树遍历的核心思想与实现技巧。
537 3
|
数据采集 存储 算法
Python 中的数据结构和算法优化策略
Python中的数据结构和算法如何进行优化?
299 19

热门文章

最新文章