If an operation has an amortized time of O(1), can it ever, worst-case, take O(N^2) time?
Can an operation that takes O(1) amortized time have worst-case O(n^2) time?
438 Views Asked by bst-for-life At
1
There are 1 best solutions below
Related Questions in COMPLEXITY-THEORY
- Sorting complexity
- Determinating Complexity time
- Probability mass of summing two discrete random variables, in linearithmic time
- A little help finding the complexity of time and and complexity of space
- Most efficient way to print differences of two arrays?
- Calculating the Recurrence Relation T(n)=T(n / log n) + Θ(1)
- How can I tell how many times these nested statements will execute?
- Complexity of this greedy algorithm to find the maximum independent set of a graph
- What is the complexity of this piece of code
- Ways to measure bit sequence complexity
- What is an Approximation Factor?
- Data structure request: Lazily infinite set
- What does it mean that a tree's height is O(lg n)?
- Two functions are not taking the time I would expect due to their big-O complexity, can anyone explain why?
- Booking System is NP Complete
Related Questions in TIME-COMPLEXITY
- Time complexity of the algorithm?
- Shell Vs. Hibbard time complexity comparison
- Time complexity of swapping elements in a python list
- constant time complexity: O(x^c)
- Java TreeMap time complexity - lowerKey
- Complexity of LSD string sort (cfr. Algorithms by Sedgewick & Wayne)
- How to search a unknown composite key for dictionary in O(1) in c#
- Confusion about why NP is contained in PSPACE, EXPTIME etc
- Depth first search or backtrack recursion for finding all possible combination of letters in a crossword puzzle/boggle board?
- Time complexity of nested for loops
- TIme complexity of various nested for loops
- Best case performance of quicksort (tilde notation)
- Ranking a given list of integers in less than O(n^2)
- Bellman-Ford algorithm proof of correctness
- Division of very large numbers
Related Questions in ASYMPTOTIC-COMPLEXITY
- TIme complexity of various nested for loops
- Time complexity of if-else statements in a for loop
- Why does this loop return a value that's O(n log log n) and not O(n log n)?
- Asymptotic complexity for typical expressions
- Have I properly sorted these runtimes in order of growth?
- Asymptotic complexity of binary heaps implemented with sets vs. priority queues
- Complexity of for loop
- Complexity of these two nested for loops
- Overall Big-O complexity of a while loop, with inner step that increases with every loop
- Asymptotic time complexity of recursive function (Theta)
- Theta time complexity for loop
- How can I implement a collection with O(1) indexing and mutability in Haskell?
- Time Complexity of the Kruskal Algorithm?
- building/inserting into sorted list
- Asymptotic run time complexity of an expression
Related Questions in AMORTIZED-ANALYSIS
- Asymptotic complexity of binary heaps implemented with sets vs. priority queues
- Find the amortized complexity of a Hash function
- Understanding Amortized Time and why array inserts are O(1)
- Doubling and incremental strategy while implementing stack using linked list and arrays?
- Create a potential function for an abstract queue data structure to show constant amortized-time complexity
- Equivalent data structures with same bounds in worst case (vs. amortized)
- Questions on the design and analysis of Fibonacci heaps
- Amortized worst case complexity of binary search
- Can an operation that takes O(1) amortized time have worst-case O(n^2) time?
- How can I ensure amortized O(n) concatenation from Data.Vector?
- How to loop through a list of loans in Python to generate amortization schedule?
- Amortized cost of insert/remove on min-heap
- Amortized Time Calculation in AVL tree
- Big-O: Getting all of the keys in a Java HashMap
- Updating maximum sum subinteral in an array in sublinear time when an adjacent transposition is applied
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Yes, it can. Amortized complexity takes into account the frequency with which the worst case appears. Thus as soon as the worst case appears in about 1 in
N^2operations the amortized complexity will be constant.Let's take a simple example - the dynamically expanding array(I will call that
vectoras it is called in c++) in most languages has an amortized constant time for pushing an element to its back. Most of the time pushing an element is a simple assignment of a value, but once in a while all the elements allocated will be assigned and we need to re-allocate the vector. This would be the worst case of apush_backoperation and when that happens the operation is with linear complexity. Still the way vector grows makes sure that re-allocation is infrequent enough. Each time the vector is re-allocated it doubles its size. Thus before another re-allocation happens we will havensimple push_back operations(assumingnwas the capacity of the vector before re-allocation). As a result the worst case of linear complexity appears at most once in a linear number of operations.Analogously to the case above imagine a data structure that re-allocates in O(n^2), but makes sure that re-allocation is performed at most once in n^2 constant operations. This would be an example of an operation with amortized complexity of O(1) and worst-case complexity O(N^2).