Draft:Difference Array
Submission declined on 21 May 2025 by ToadetteEdit (talk).
Where to get help
How to improve a draft
You can also browse Wikipedia:Featured articles and Wikipedia:Good articles to find examples of Wikipedia's best writing on topics similar to your proposed article. Improving your odds of a speedy review To improve your odds of a faster review, tag your draft with relevant WikiProject tags using the button below. This will let reviewers know a new draft has been submitted in their area of interest. For instance, if you wrote about a female astronomer, you would want to add the Biography, Astronomy, and Women scientists tags. Editor resources
| ![]() |
An array that is constructed using a sequence of numbers and the differences between each element forming a new array in which . The difference array of can be denoted as [1]
Inverse Function
[edit]A difference array can be undone using a prefix sum array. Here the prefix sum array is denoted as where is an arbituary constant prepending the prefix sum array. Given that is by plugging into the prefix sum function [1]
Uniqueness of Difference Arrays
[edit]only has a single difference array . If no additional inputs are given uses the elements of to form the difference array. The non-communativity of subtraction only allows for single way to represent a given difference array.[1]
Range Queries
[edit]A difference array can be used to update an array that is being modified using range queries in constant time.[2] Here a query with as the left and right indices of the array to edit and as the value to add to the elements within . Difference arrays exhibit a unique property where when modified with a range query only the bounds of said query are modify. So given the range the elements of will remain unchanged except for which will be more than before the query. This allows for a range query to be expressed by and .[3]
To obtain the final array a prefix sum can be performed on , then when the prefix sum of is added to all the queries that were to being applied to will be performed through a single iteration.[2]
Proof
[edit]The relative differences of the values that lie within the range will remain unchanged after a range query is performed. However the elements and will have their relative differences change. Since each element within is increasing by element will be greater than the previous entry, similarly element will be x less than the next entry in the array.
Thus the middle x cancels out showing that has no effect on the differences of the middle values.
References
[edit]- ^ a b c "Prefix sum array and difference array - PEGWiki". wcipeg.com. Retrieved 2025-05-20.
- ^ a b Katiyar, Ishank (2021-07-30). "Understanding Difference Array: The Underrated Constant Time Range Update Algorithm (Part 1)". Medium. Retrieved 2025-05-20.
{{cite web}}
: CS1 maint: url-status (link) - ^ Nadaf, Aman (2023-02-28). "Difference Array Technique". TeckBakers. Retrieved 2025-05-20.
{{cite web}}
: CS1 maint: url-status (link)
- in-depth (not just passing mentions about the subject)
- reliable
- secondary
- independent of the subject
Make sure you add references that meet these criteria before resubmitting. Learn about mistakes to avoid when addressing this issue. If no additional references exist, the subject is not suitable for Wikipedia.