Problem 2094 --算法10-2:折半插入排序

2094: 算法10-2:折半插入排序

"
Time Limit $1$ 秒/Second(s) Memory Limit $512$ 兆字节/Megabyte(s)
提交总数 $377$ 正确数量 $271$
裁判形式 标准裁判/Standard Judge 我的状态 尚未尝试
难度 分类标签 排序
折半插入排序同样是一种非常简单的排序方法,它的基本操作是在一个已经排好序的有序表中进行查找和插入。不难发现这个查找的过程可以十分自然的修改成折半查找的方式进行实现。
折半插入排序的算法可以描述如下:
在本题中,读入一串整数,将其使用以上描述的折半插入排序的方法从小到大排序,并输出。

输入的第一行包含1个正整数n,表示共有n个整数需要参与排序。其中n不超过1000。
第二行包含n个用空格隔开的正整数,表示n个需要排序的整数。
只有1行,包含n个整数,表示从小到大排序完毕的所有整数。
请在每个整数后输出一个空格,并请注意行尾输出换行。
10
2 8 4 6 1 10 7 3 5 9
1 2 3 4 5 6 7 8 9 10 
在本题中,需要按照题目描述中的算法完成折半插入排序的算法。与直接插入排序算法不同,折半插入排序算法在查找插入位置时采用了折半查找的方案,减少了关键字之间的比较次数,但是记录的移动次数并没有发生改变,因此折半插入排序的时间复杂度依旧为O(n2),同样不是一种非常高效的排序方法。

推荐代码 查看2094 所有题解 上传题解视频得图灵币

本题记录 用 户(点击查看用户) 运行号(点击购买题解) 时 间
算法最快[$0 $ms] 二狗子 811257 2022-02-26 15:44:30
内存最少[$944 $KB] 刘成健 189849 2017-12-30 18:33:22
第一AC 范晋豪@信息与计算科学142 152756 2017-11-16 15:10:17
第一挑战 范晋豪@信息与计算科学142 152756 2017-11-16 15:10:17

赛题来源/所属竞赛 数据结构高分笔记 数据结构高分笔记

竞赛编号 竞赛名称 竞赛时间 访问比赛
1572 2020-2021-1学期《程序设计技能实训》高级排序【20计算机12345】 2020-12-27 16:00:00 请登录
1597 2020《图灵信息学算法》初级班9:查找和二分算法 2020-11-29 16:00:00 请登录
1581 2020《图灵信息学算法》高级班第4单元:高级排序和二分查找 2020-10-18 09:00:00 请登录
1286 2018-2019-2学期18计算机123班《C语言程序设计II》指针和高级排序算法 2019-03-08 16:00:00 请登录