返回
返回 我的 北京
首页 分享 收藏 预约报名 拨打电话

北京2022考研计算机考点:各类排序算法的特点及比较

2021-07-26 21:30:30 69
如遇无效、虚假、诈骗课程,请立即举报
为了您的资金安全,请见面交易,切勿提前支付任何费用
举报
课程详情

北京2022考研计算机考点:各类排序算法的特点及比较


计算机的竞争度逐年加大,报考学生越来越多,对于打算报考2022考研计算机的考生们来说复习是难点,大家复习也需要讲究方法,掌握一定的技巧。下面小编整理了2022考研计算机考点:各类排序算法的特点及比较,供大家参考。

几种主要的排序算法:冒泡排序、选择排序、插入排序、快速排序、归并排序、Shell排序、堆排序等。

冒泡排序算法思想:将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即“轻”的元素在下面,就交换它们的位置。

选择排序算法思想:选择排序的基本思想是对待排序的记录序列进行n-1遍的处理,第i遍处理是将L[i..n]中最小者与L[i]交换位置。这样,经过i遍处理之后,前i个记录的位置已经是正确的了。

插入排序算法思想:经过i-1遍处理后,L[1..i-1]己排好序。第i遍处理仅将L[i]插入L[1..i-1]的适当位置,使得L[1..i]又是排好序的序列。

快速排序算法思想:快速排序的基本思想是基于分治策略的。对于输入的子序列L[p..r],如果规模足够小则直接进行排序,否则分三步处理:1. 分解(Divide):将输入的序列L[p..r]划分成两个非空子序列L[p..q]和L[q+1..r],使L[p..q]中任一元素的值不大于L[q+1..r]中任一元素的值。2. 递归求解(Conquer):通过递归调用快速排序算法分别对L[p..q]和L[q+1..r]进行排序。3. 合并(Merge):由于对分解出的两个子序列的排序是就地进行的,所以在L[p..q]和L[q+1..r]都排好序后不需要执行任何计算L[p..r]就已排好序。

归并排序算法思想:分而治之(divide - conquer)。每个递归过程涉及三个步骤:1.分解,把待排序的n个元素的序列分解成两个子序列,每个子序列包括 n/2 个元素。2. 治理,对每个子序列分别调用归并排序MergeSort,进行递归操作。3. 合并,合并两个排好序的子序列,生成排序结果。

Shell排序算法思想:算法先将要排序的一组数按某个增量d分成若干组,每组中记录的下标相差d.对每组中全部元素进行排序,然后再用一个较小的增量对它进行,在每组中再进行排序。当增量减到1时,整个要排序的数被分成一组,排序完成。

堆排序算法思想:用大根堆排序的基本思想:1.先将初始文件R[1..n]建成一个大根堆,此堆为初始的无序区。2.再将关键字最大的记录R[1](即堆顶)和无序区的最后一个记录R[n]交换,由此得到新的无序区R[1..n-1]和有序区R[n],且满足R[1..n-1].keys≤R[n].key。3. 由于交换后新的根R[1]可能违反堆性质,故应将当前无序区R[1..n-1]调整为堆。

2021考研大纲&预报名
2021考研大纲解读
及难度评析
2021考研英语大纲新增词汇一览表 【跨考名师解析】2021管理类联考初数大纲全面解析!
2021考研数学一考试大纲与2020变化对比(高数部分) 2021乘风破浪 步步为营—从英语大纲论今年考研
2021考研数学三考试大纲(高数部分)考试内容和要求变化分析 【跨考名师解析】2021考研数学二考试大纲解析
2021考研预报名 考研总成绩是怎么算出来的?录取分数怎么算? 考研报名:2021考研预报名流程详解!
2021考研报名信息填写注意事项 建议收藏! 教育部官宣了:2021考研时间定了!
考研到底要花多少钱?快看各省市考研报名费! 非常重要!2021考研预报名注意事项大汇总!


点击进入考研官网了解详情..




联系我时,请说是在学习窗看到的。
相关课程