堆的数据结构能够使得堆顶总是维持最大(对于大根堆)或最小(对于小根堆),给定一个数组,对这个数组进行建堆,则平均复杂度是多少?如果只是用堆的 push 操作,则一个大根堆依次输入 3,7,2,4,1,5,8 后,得到的堆的结构示意图是下述图表中的哪个?

堆的数据结构能够使得堆顶总是维持最大(对于大根堆)或最小(对于小根堆),给定一个数组,对这个数组进行建堆,则平均复杂度是多少?如果只是用堆的 push 操作,则一个大根堆依次输入 3,7,2,4,1,5,8 后,得到的堆的结构示意图是下述图表中的哪个?()

A.O(n)

B.O(n) ,

C.O(logn)

D.O(n),

[解析]

堆是利用完全二叉树的结构来维护一组数据,然后进行相关操作,一般的操作进行一次的时间复杂度在O(1)~O(logn)之间。采用push的操作实现大根堆,每次输入后,为了保证是大根堆,每插入一个元素,调整一次。具体过程如下:

所以正确答案为D。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 课程介绍 先修课:概率统计,程序设计实习,集合论与图论 后续课:算法分析与设计,编译原理,操作系统,数据库概论,人...
    ShellyWhen阅读 2,343评论 0 3
  • 第一章 绪论 什么是数据结构? 数据结构的定义:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 第二章...
    SeanCheney阅读 5,807评论 0 19
  • 目录 | 第十五章 酒可穿肠 第十六章 茶香琴韵 用门口算命的曹小乙的话来说,铁珩是真的贵发了,这叫“时来顽铁...
    青色百合99阅读 1,503评论 36 83
  • 有些事永不可知,比如你的棺椁在700年后躺在大教堂的下面,被一个来自中国的陌生人参观,他不屑的看一眼,然后去看正在...
    赛因扣赛因阅读 201评论 0 0