当前位置: 首页 > news >正文

第八章,应用题

1设待排序的关键字序列为{12,2,16,30,28,10,16*,20,6,18},试分别写出使用以下排序方法,每趟排序结束后关键字序列的状态。

① 直接插入排序

② 折半插入排序

③ 希尔排序(增量选取5,3,1)

④ 冒泡排序

⑤ 快速排序

⑥ 简单选择排序

⑦ 堆排序

⑧ 二路归并排序

答案:

直接插入排序

[2    12]   16   30   28   10   16*   20   6    18        

[2    12    16]  30   28   10   16*   20   6    18        

[2    12    16   30]  28   10   16*   20   6    18        

[2    12    16   28   30]  10   16*   20   6    18        

[2    10    12   16   28  30]   16*   20   6    18        

[2    10    12   16   16*  28   30]   20   6    18        

[2    10    12   16   16*  20   28   30]   6    18        

[2    6     10   12   16  16*   20   28   30]   18        

[2    6     10   12   16  16*    18   20   28   30]

折半插入排序 排序过程同

希尔排序(增量选取531

10   2    16   6    18   12   16*   20  30    28 (增量选取5

6    2    12   10   18   16   16*   20  30    28 (增量选取3

2    6    10   12   16   16*  18      20  28    30 (增量选取1

冒泡排序

2    12   16    28   10   16*  20   6     18   [30]       

2    12   16    10   16*  20   6    18    [28   30]       

2    12   10    16   16*  6     18   [20   28   30]         

2    10   12    16   6   16*    [18   20   28   30]         

2    10   12    6   16   [16*    18   20   28   30]        

2    10   6    12   [16   16*    18   20   28   30]       

2    6   10    [12   16   16*    18   20   28   30]

2    6   10    12   16   16*    18   20   28   30]      

快速排序

12  [6    2  10]  12  [28  30  16*  20   16  18]         

6   [2]  6   [10]  12  [28  30  16*  20   16  18 ]        

28  2    6   10   12  [18  16  16*  20 ] 28  [30 ]      

18  2   6   10  12   [16*  16]  18  [20]  28  30         

16*     2   6   10  12   16* [16]   18  20   28  30

左子序列递归深度为1,右子序列递归深度为3

简单选择排序

2    [12   16   30   28   10   16*   20   6    18]         

2    6    [16   30   28   10   16*   20   12   18]         

2    6    10   [30   28   16   16*   20   12   18]         

2    6    10   12   [28   16   16*   20   30   18]         

2    6    10   12   16   [28   16*   20   30   18]         

2    6    10   12   16   16*    [28  20   30   18]         

2    6    10   12   16   16*   18   [20   30   28]        

2    6    10   12   16   16*   18    20   [28  30]        

2    6    10   12   16   16*    18   20   28   [30]

二路归并排序

2 12    16 30    10 28    16 * 20    6 18                                               

2 12 16 30        10 16* 20 28       6 18                                              

2 10 12 16 16* 20 28 30   6 18                                              

2 6 10 12 16 16* 18 20 28 30

2给出如下关键字序列{321,156,57,46,28,7,331,33,34,63},试按链式基数排序方法,列出每一趟分配和收集的过程。

(3)对输入文件(101,51,19,61,3,71,31,17,19,100,55,20,9,30,50,6,90);当k=6时,使用置换-选择算法,写出建立的初始败者树及生成的初始归并段。

初始败者树 

初始归并段:R1:3,19,31,51,61,71,100,101

            R2:9,17,19,20,30,50,55,90

         R3:6

http://www.lryc.cn/news/589113.html

相关文章:

  • OpenCV 对数变换函数logTransform()
  • 【机器学习】第一章 概述
  • 【机器学习】第二章 Python入门
  • 【安卓笔记】RxJava之flatMap的使用
  • PyTorch笔记6----------神经网络案例
  • 【人工智能99问】神经网络的工作原理是什么?(4/99)
  • Android中Launcher简介
  • MySQL索引与事务详解:用大白话讲透核心概念
  • compose、 pipe 组合函数实现
  • 从底层技术到产业落地:优秘企业智脑的 AI 革命路径解析
  • Basilisk库教程(二)
  • QT——QList的详细讲解
  • SpringBoot3.0 +GraalVM17 + Docker
  • AI大模型训练相关函数知识补充
  • MongoDB基础增删改查命令
  • vscode配置运行完整C代码项目
  • B/S 架构通信原理详解
  • 高标准农田气象站的功能
  • 亚矩阵云手机:破解 Yandex 广告平台多账号风控难题的利器
  • 云服务器如何管理数据库(MySQL/MongoDB)?
  • 《大数据技术原理与应用》实验报告四 MapReduce初级编程实践
  • Keepalived双机热备概述
  • 死锁问题以及读写锁和自旋锁介绍【Linux操作系统】
  • Sersync和Rsync部署
  • 免杀学习篇(1)—— 工具使用
  • Dify的默认端口怎么修改
  • 算法学习day16----Python数据结构--模拟队列
  • Nuxt3宝塔PM2管理器部署
  • linux系统------LVS+KeepAlived+Nginx高可用方案
  • LVS(Linux Virtual Server)详细笔记(理论篇)