#创作计划#排序算法【No.1】更新中…
2024-12-05 21:14:04
发布于:广东
时隔数天 Ysjt丨深携新作重磅归来 2024年年底《2025#创作计划#》的首篇文章将正式拉开帷幕 点我速看目录· 本篇文章讲以Word文档的形式保存于团队首页 需要可自取
对于本文来说 将从多个方面简单阐述排序算法 在【No.2】(有空会接着写)中会深入并且系统地去讲解 在文章的最后 我们将以哲学的思想角度来聊聊这个话题
那么现在——我们开始啦!!!
01:排序算法???
在平常的生活中 已经有不少的新手不止一次的问过我排序算法究竟是什么东西? 听起来好像够高级的样子 但其实排序算法一点都不算是 《题如其名》 可以说就是非常简单的一个算法配上了十分高级的一个名字
在 C++ 编程中,排序算法起着至关重要的作用。无论是处理大量数据的数据分析任务,还是管理复杂数据结构的应用程序,高效的排序算法都能极大地提高程序的性能和可读性。
C++ 中的排序算法有着广泛的应用场景。在数据库管理系统中,排序是实现高效查询的关键步骤。通过对数据库中的数据进行排序,可以快速定位到满足特定条件的记录。在数据分析和机器学习领域,排序也是常见的操作。例如,在对数据进行聚类分析时,通常需要先对数据进行排序,以便更好地发现数据的模式和趋势。此外,在日常的编程任务中,如对用户输入的数据进行排序展示,或者对文件中的数据进行排序处理,排序算法也都发挥着重要作用。
但是——
并不是说每一种排序算法都一个样 差别肯定还是有的
优缺点还真的!!!很不一样!!!
那么接下来就让我们分开来阐述一下吧!!!
02:冒泡排序
相信90%的人刚刚接触排序算法都是从冒泡排序开始的 因为确实 冒泡排序及其好理解
那么接下来让我们通过几篇文章的一些文字来理解理解:
对于一组待排序的数据,从第一个数据开始,依次比较相邻两个数据的大小关系,如果它们的顺序与要求的顺序不符合,则交换它们的位置。这样一轮比较下来,最后一个数据就是这组数据中最大的数据。接着,对剩下的数据进行相同的操作,直到所有数据都排序完成。
02.1:时间复杂度
最好情况下为 O (n),即数据已经是有序的,只需要进行一次遍历,比较次数为 n - 1 次。
最坏情况下为 O (n^2),即数据是完全逆序的,每一轮比较都需要进行 n - i 次交换,其中 i 是当前轮数,总共需要进行 n - 1 轮比较。
02.2:冒泡排序的优点/缺点
金无足赤人无完人,冒泡排序既然有那么多的有点就一定一定有缺点!
优点:
- 实现简单,代码量少,容易理解和实现。
缺点:
- 对于大数据的排序算法计算过程会略显繁琐
03:选择排序
04:插入排序
……
这里空空如也
有帮助,赞一个