您的位置:首页 > 娱乐 > 明星 > 软件设计师全套备考系列文章8 -- 查找、排序

软件设计师全套备考系列文章8 -- 查找、排序

2025/2/25 6:18:50 来源:https://blog.csdn.net/weixin_44399264/article/details/141389791  浏览:    关键词:软件设计师全套备考系列文章8 -- 查找、排序

软考-- 软件设计师(8)-- 查找、排序


文章目录

  • 软考-- 软件设计师(8)-- 查找、排序
  • 前言
  • 一、查找
  • 二、排序
  • 三、排序的评价指标(重点)


前言

考试时间:每年5月、11月,软件设计师每年都会开考。
考试条件:三不限
考试形式: 一共两门上午--计算机于软件工程基本知识--150分钟--笔试--选择题--75分(45及格)下午--软件设计--150分钟--笔试--简答题(4道必做,1道二选一做)--75分(45及格)两门都得一次性及格才算通过。软件行业从事人员学习视频:https://www.bilibili.com/video/BV1Qc411G7fB?vd_source=d82c92f6c1fd8c6785c6b557a68cb7b3其他行业学习视频:https://www.bilibili.com/video/BV1LcYyeoEa5?vd_source=d82c92f6c1fd8c6785c6b557a68cb7b3由于本人从事软件开发4年,有一定的基础,所以本系列博客笔记皆从于第一个视频记录笔记。

一、查找

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

二、排序

基本概念

排序:重新排列表中的元素,使表中的元素满足按关键字有序的过程。
排序分为:稳定排序 和 不稳定排序(重要),内部排序 和 外部排序(不重要)ex:21()3213452721(),有以上一排数据,如果经过排序算法A排序后,21()仍然在21()之前,则算法A为稳定排序,否则算法A为不稳定排序。

在这里插入图片描述
在这里插入图片描述

希尔排序:增量d生成的规则,d1=n/2,d2=d1/2,d3=d2/2...能直接除尽则直接取,除不尽取奇数。ex:10/2=5,取55/2=2.5,取33/2=1.51下图解析:
1、d1=n/2=5,增量为5,则5728对比,57>28,则5728互换位置。6896对比,68<96,则不用互换。重复下去得到第二列数据。
2、d2=d1/2=2.5,取最近的奇数,的d2=3,则第二列数据中,以28开始增量为3的数据为:28249672,将其排序并且插入到相应位置,
得到数据:24683328195772595296。第二列数据中以68开始增量为3的数据为:681959,将其排序并且插入到相应
位置,得到数据:24193328595772685296。第二列数据中以33开始增量为3的数据为:335752,将其排序并且插入
到相应位置,得到数据:24193328595272685796。得到第三列数据。
3、d3=d2/2=1.5,取最近的奇数,的d3=1,则第三列数据以增量为1,互相比较,若 前面 > 后面 则互换位置。

在这里插入图片描述

在这里插入图片描述

快速排序:取首元素作为枢纽pivot,其他元素和pivot对比,小于pivot的放于pivot左边,大于pivot的放于右边。一次操作后对pivot两边的数据重复递归此操作,直到排序全部完成。其实真正的操作是指针的互换,但是我们应试,直接理解成这样就可以了。ex:下图中,取57作为pivot,小于57放左边,大于57的放右边。一次操作后得到[19 24 33 52 28] 57 [96 72 59 68],再分别对两边的[19 24 33 52 28][96 72 59 68]重复此操作,直到排序结束。

在这里插入图片描述

在这里插入图片描述

堆排序:小顶堆:堆顶位置的数据永远都是最小的数据,且各个子树的根节点 都小于 其叶子节点;大顶堆:堆顶位置的数据永远都是最大的数据,且各个子树的根节点 都大于 其叶子节点。

在这里插入图片描述

堆排序ex:
1.1:初始化建立堆;
1.2:从叶子节点的子树向上推,所以图1.2中,5808最大,则交换58的位置;
1.3:从叶子节点的子树向上推,所以图1.3中,2466最大,则交换46的位置;
1.4:继续推左子树,发现左子树接下来需要比较的树值为387,其中8最大,则交换38的位置;
1.5:经过1.4的操作后发现,左叶子节点最小子树350不满足大顶堆条件了,则需要对其重新排列,比较350,其中5最大,则交换35的位置;
1.6:现在发现左子树 和 右子树都满足大顶堆条件。只有根节点不满足。比较最大子树186,其中8最大,则交换18的位置;
1.7:经过1.4的操作后发现,左子树157不满足大顶堆条件了,则需要对其重新排列,比较157,其中7最大,则交换17的位置;
发现整个树各个子树都满足大顶堆条件,堆排序完成。

在这里插入图片描述

归并排序:把两个 或 多个已经**有序**的序列合并
ex:
1、合并[57 68][52 59][28 72][33 96] ,得到两个有序序列[52 57 59 68][28 33 72 96];
2、合并[52 57 59 68][28 33 72 96];

在这里插入图片描述

在这里插入图片描述

三、排序的评价指标(重点)

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com