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

第八章,应用题

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.xdnf.cn/news/15428.html

相关文章:

  • Python 字典 (Dictionary) 详解
  • linux系统------HAProxy 配置
  • Isaac Sim仿真赋能机器人工作流,推动具身智能在机器人领域研究
  • 弗兰肯斯坦式的人工智能与GTM策略的崩溃
  • 【Qt】 设计模式
  • 云蝠智能赋能呼入场景——重构企业电话服务
  • 可下载或通过爬虫获取疾病相关数据的网站及平台,涵盖临床数据、基因关联、药品信息等方向,并附注数据特点与获取方式:(不公开)
  • Process Lasso:提升电脑性能的得力助手
  • (3)从零开发 Chrome 插件:网页图片的批量下载
  • 辨析git reset三种模式以及和git revert的区别:回退到指定版本和撤销指定版本的操作
  • 【Ubuntu22.04】repo安装方法
  • 基于STM32的智能火灾报警系统设计
  • AI|大模型入门(六):GPT→盘古,国内外大模型矩阵速览
  • kotlin布局交互
  • 响应式编程入门教程第三节:ReactiveCommand 与 UI 交互
  • 【PTA数据结构 | C语言版】创建哈夫曼树
  • 医疗数据分析中标准化的作用
  • Java项目:基于SSM框架实现的学生档案管理系统【ssm+B/S架构+源码+数据库+毕业论文+开题报告】
  • 剑指offer62_骰子的点数
  • Vue3入门-指令
  • brupsuite使用中遇到的一些问题(bp启动后浏览器无法连接)/如何导入证书
  • 智能体技术深度解析:从概念到企业级搭建指南
  • 安全参綉25暑假第一次作业
  • Student后台管理系统查询接口
  • CentOS服务器安装Supervisor使队列可以在后台运行
  • GAMES101 lec2-数学基础1(线性代数)
  • 为何说分布式 AI 推理已成为下一代计算方式
  • 特殊的整数-水仙花数
  • 【c++】c++11新特性(右值引用和移动语义)
  • Java报表导出框架