📅  最后修改于: 2020-12-10 06:16:19             🧑  作者: Mango
下界理论概念基于执行算法所需的最短时间的计算,被称为下界理论或基础界理论。
下界理论使用多种方法/技术来找出下界。
概念/目的:主要目的是计算执行算法所需的最小比较数。
下界理论使用的技术是:
在比较排序中,我们仅使用元素之间的比较来获取有关输入序列(a1; a2 … an)的顺序信息。
给定来自(a 1 ,a 2 ….. a n )的i ,a j我们进行比较之一
以确定它们的相对次序,如果我们假设所有元素是不同的,那么我们只需要考虑I≤第j“=”被排除&,≥,≤,>,<是等价的。
考虑对三个数字a1,a2和a3进行排序。有3个! = 6种可能的组合:
(a1, a2, a3), (a1, a3, a2),
(a2, a1, a3), (a2, a3, a1)
(a3, a1, a2), (a3, a2, a1)
基于比较的算法定义了决策树。
决策树:决策树是完整的二叉树,显示了元素之间的比较,这些元素由在给定大小的输入上运行的适当排序算法执行。控制,数据移动和该算法的所有其他条件都将被忽略。
在决策树中,将存在一个长度为n的数组。
因此,总叶子数为n! (即比较总数)
如果树高是h,那么肯定
以比较a1,a2和a3的示例为例。
左子树将是真实的情况,即一个我≤第j
右子树将是错误条件,即a i > a j
图:决策树
所以从上面,我们得到了
两边取原木
示例:假设我们有一个根据以下位置的项目清单:
1,2,3,4,5,6,7,8,9,10,11,12,13,14
最后一个中点是:
2, 4, 6, 8, 10, 12, 14
因此,我们将考虑所有中点,并通过逐步设置中点来制作一棵树。
粗体字母是此处的中点
根据Mid-Point,这棵树将是:
步骤1:内部节点的k级以内的最大节点数为2 k -1
例如
步骤2:比较树中内部节点的最大数量为n!
注意:这里内部节点是叶子。
第三步:从条件1和条件2中我们得到
第4步:现在,n + 1≤2 k
在此,二进制搜索中的内部节点将始终小于2 k。
第五步:
第六步:
T (n) = k
步骤7:
此处,使用Binary Search执行n个词项搜索任务的最小比较数
获得下限的另一种技术包括使用“ oracle”。
给定某种估计模型(例如比较树),oracle将告诉我们每个比较的结果。
为了得出一个好的下限,oracle尽力使该算法尽可能地努力工作。
通过确定下一个分析的结果来进行此操作,该结果对确定最终答案最重要。
并且通过保持已完成工作的步骤,可以得出问题的最坏情况下限。
示例:(合并问题)给定集合A(1:m)和B(1:n),其中对A和B中的信息进行了排序。考虑组合这两个集合以给出单个排序集合的算法的下界。
如果n为8,则状态为3