原文:简单理解算法篇--摊还分析

摊还分析是用来评价程序中的一个操作序列的平均代价,有时可能某个操作的代价特别高,但总体上来看也并非那么糟糕,可以形象的理解为把高代价的操作 分摊 到其他操作上去了,要求的就是均匀分摊后的平均代价。 摊还分析有三种常用的技术 聚合分析,核算法,势能法。 首先看个例子,现在有三种操作,push s ,pop s ,mutlipop s,k ,push s ,统称为栈操作。 push s 每次只能压一 ...

2014-12-25 23:13 1 8517 推荐指数:

查看详情

摊还分析(1)——算法导论(23)

摊还分析(amortized analysis)是一种分析一个操作序列中所执行的所有操作的平均时间分析方法。与一般的平均分析方法不同的是,它不涉及概率的分析,可以保证最坏情况下每个操作的平均性能。 下面介绍瘫痪分析中的最常用的三种技术。 1. 聚合分析 1.1 栈操作 先来看对栈进行操作 ...

Wed Aug 31 07:01:00 CST 2016 3 3512
摊还分析

转载自: http://codeplayer.org/2013/12/471 先来直观的介绍一下什么是摊还分析:在摊还分析中,我们求数据结构的一个操作序列中所执行的所有操作的平均时间,来评价操作的代价。这样,我们就可以说明一个操作的平均代价是很低的,即使序列中某个单一操作的代价很高。摊还分析 ...

Mon Jan 25 23:24:00 CST 2016 0 1865
算法导论之摊还分析学习笔记

基本原理 在摊还分析(amortized analysis)中, 通过求数据结构的一个操作序列中的所有操作的平均执行时间, 来评价操作的代价. 摊还分析不同于平均情况分析, 它并不涉及概率, 可以保证最坏情形下每个操作的平均性能. 常用的三种技术: 聚合分析(aggregate analysis ...

Sun Jul 26 03:28:00 CST 2020 0 637
算法导论17:摊还分析学习笔记(KMP复杂度证明)

摊还分析中,通过求数据结构的一系列的操作的平均时间,来评价操作的代价。这样,即使这些操作中的某个单一操作的代价很高,也可以证明平均代价很低。摊还分析不涉及概率,它可以保证最坏情况下每个操作的平均性能。 摊还分析有三种常用的技术: 聚合分析,它确定$n$个操作的总代价的上界为$T(n ...

Thu Sep 21 05:09:00 CST 2017 0 1523
简单理解算法--贪心算法

贪心算法是什么意思?举个例子就很清楚了:现在你有一个能装4斤苹果的袋子,苹果有两种,一种3斤一个,一种2斤一个,怎么装才能得到最多苹果?当然我们人考虑的话当然是拿两个2斤的苹果,就刚好装满了,但是如果按贪心算法拿的话,首先就要把最重的苹果拿下(是不是很符合贪心两个字?),但并没有得 ...

Tue Oct 21 03:58:00 CST 2014 1 31235
KM算法理解

转载:https://www.cnblogs.com/logosG/p/logos.html(很好,很容易理解) 一、匈牙利算法 匈牙利算法用于解决什么问题? 匈牙利算法用于解决二分图的最大匹配问题。 什么是二分图?我们不妨来考虑这样一个问题,在一家公司里,有员工A,B,C,有三种工作 ...

Sun Apr 15 03:59:00 CST 2018 0 3092
LSA算法简单理解

文本挖掘的两个方面应用: (1)分类: a.将词汇表中的字词按意思归类(比如将各种体育运动的名称都归成一类) b.将文本按主题归类(比如将所有介绍足球的新闻归到体育类) ...

Fri Nov 13 10:25:00 CST 2015 0 2617
A*算法理解简单实现

基本定义 一种寻路算法,特点是:启发式的,效率高,基本思路比较简单。 用途 寻路。在指定的地图上,考虑到地图上的移动代价,找到最优的路径。 核心概念 开表,闭表,估值函数。 开表 开表,记录了当前需要处理的地图上的点。 1什么点会加入开表? 1.1 当一个点是起始点时 ...

Thu May 11 04:49:00 CST 2017 0 6406
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM