全部科目 > 软件设计师 >
2023年上半年 上午试卷 综合知识
第 63 题
知识点 堆排序  
章/节 计算机软件知识  
 
 
对—组数据进行排序,要求排序算法的时间复杂度为O(nlgn),且要求排序是稳定的,则可采用(62)算法。若要求排序算法的时间复杂度为O(nlgn),且在原数据上进行,即空间复杂度为O(1),则可采用(63)算法。
 
  A.  直接插入排序
 
  B.  堆排序
 
  C.  快速排序
 
  D.  归并排序




 
 
相关试题     计算机软件知识 

  第51题    2022年上半年  
数据库中的视图是一个虚拟表。若设计师为user表创建一个user1视图,那么数据字典中保存的是(51)

  第28题    2009年上半年  
某文件系统采用链式存储管理方案,磁盘块的大小为1024字节。文件Myfile.doc 由5个逻辑记录组成,每个逻辑记录的大小与磁盘块的大小相等,并依次存放在121、75、8..

  第50题    2022年下半年  
在Python3中,执行语句x-imput(),如果从键盘输入123并按回车键,则x的值为()。

 
知识点讲解
· 堆排序
 
        堆排序
        对于n个元素的关键字序列K1,K2,…,Kn,当且仅当所有关键字都满足下列性质时称其为堆,即
        
        若堆顶为最小元素,则称为小根堆;若堆顶为最大元素,则称为大根堆。
        堆排序的基本思想是:对一组待排序记录的关键字,首先把它们按堆的定义排成一个堆序列,从而输出堆顶的最小关键字(对于小根堆而言),然后将剩余的关键字再调整成新堆,便得到次小的关键字,如此反复进行,直到全部关键字排成有序序列为止。
        对于记录数较少的文件来说,堆排序的优越性并不明显,但对大量的记录来说堆排序是很有效的。堆排序的整个算法时间是由建立堆和不断调整堆这两部分时间代价构成的,堆排序算法的时间复杂度为O(nlog2n)。此外,堆排序只需要一个记录大小的辅助空间。但是堆排序是一种不稳定的排序方法。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有