原文:最坏情况为线性时间的选择算法

算法select可以确认一个有n gt 个不同元素的输入数组中第i小的元素。 如果n ,则select只返回它的唯一输入数值作为第i小的元素。 .将输入数组的n个元素划分为n 向下取整 组,每组 个元素,则至多只有一组由剩下的n mod 个元素组成。 .寻找这n 向上取整 组中每一组的中位数:首先对每组元素进行插入排序,然后确定每组有序元素的中位数。 .对第 步中找出的n 向上取整 个中位数,递归 ...

2017-09-02 14:59 0 1194 推荐指数:

查看详情

算法线性时间选择最坏情况下)

线性时间选择(Linear Select):这个名字不太好理解,什么叫线性时间选择?一句话,在线性时间内完成选择。一般情况下是这样的,我们想要找出一个数组中的最大值或最小值,那就只需要一次排列,然后输出第一个或最后一个元素就行了,但如果是要找出一个数组中的第k小的元素呢?   在一般情况 ...

Wed Apr 09 20:45:00 CST 2014 0 6751
线性时间选择算法

在一个由 n 个元素组成的集合中,第 i 个顺序统计量(order statistic)是该集合中第 i 小的元素。也就是说,最小值是第 1 个顺序统计量(i = 1),最大值是第 n 个顺序统计量( ...

Thu Jul 24 06:42:00 CST 2014 1 5974
线性时间选择算法

线性时间选择算法 顾名思义,“线性时间选择”就是“选择问题”的“线性时间算法。 1. 选择问题 元素选择问题:给定一个能够线性排序的集合(该集合中有 n 个元素)和 一个整数 k(\(1 \le k \le n\)) ,找出这 n 个元素中第 k 小的元素。 时间下界 ...

Tue Mar 24 07:08:00 CST 2020 2 4840
选择中位数-线性时间算法

  本章继续讲一些关于奇淫技巧(算法啦)的做法,对于一个无序数组,我们如何找到其中位数呢?   首先回顾一下中位数的概念:是按顺序排列的一组数据中居于中间位置的数。   1,当前的先决条件是无序数组,那根据原理可以很快想到一种解法,对数组进行遍历,每次找出其最大值、最小值,最终残留的一位或两位 ...

Sun Jan 19 22:40:00 CST 2020 0 1272
舍伍德算法线性时间选择问题

一.概念引入 设A是一个确定性算法,当它的输入实例为x时所需的计算时间记为tA(x)。设Xn是算法A的输入规模为n的实例的全体,则当问题的输入规模为n时,算法A所需的平均时间为。这显然不能排除存在x∈Xn使得的可能性。希望获得一个随机化算法B,使得对问题的输入规模为n的每一个实例 ...

Fri Nov 20 19:13:00 CST 2020 0 398
最坏情况比较次数

在顺序表中: 顺序查找法:最坏情况下比较n次 查找最大项:最坏情况下比较n-1次 快速排序: 最坏情况下比较n(n-1)/2次 冒泡排序: 最坏情况下比较n(n-1)/2次 堆排序: 最坏情况下比较nlog2n ...

Sat Jul 27 02:01:00 CST 2019 0 422
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM