##### "Algorithm Analysis" Please respond to the following:

*label*Mathematics

*account_circle*Unassigned

*schedule*1 Day

*account_balance_wallet*$5

Analyze the most important concept or method of discrete mathematics used to analyze algorithms. Provide a rationale with your response.

Thank you for the opportunity to help you with your question!

In computer science, the **analysis of algorithms** is the determination of the amount of resources (such as time and storage) necessary to execute them. Most algorithms
are designed to work with inputs of arbitrary length. Usually, the
efficiency or running time of an algorithm is stated as a function
relating the input length to the number of steps (time complexity) or storage locations (space complexity).

Algorithm analysis is an important part of a broader computational complexity theory, which provides theoretical estimates for the resources needed by any algorithm which solves a given computational problem. These estimates provide an insight into reasonable directions of search for efficient algorithms.

In theoretical analysis of algorithms it is common to estimate their
complexity in the asymptotic sense, i.e., to estimate the complexity
function for arbitrarily large input. Big O notation, Big-omega notation and Big-theta notation are used to this end. For instance, binary search
is said to run in a number of steps proportional to the logarithm of
the length of the list being searched, or in O(log(n)), colloquially "in
logarithmic time". Usually asymptotic estimates are used because different implementations
of the same algorithm may differ in efficiency. However the
efficiencies of any two "reasonable" implementations of a given
algorithm are related by a constant multiplicative factor called a *hidden constant*.

Exact (not asymptotic) measures of efficiency can sometimes be
computed but they usually require certain assumptions concerning the
particular implementation of the algorithm, called model of computation. A model of computation may be defined in terms of an abstract computer, e.g., Turing machine,
and/or by postulating that certain operations are executed in unit
time. For example, if the sorted list to which we apply binary search
has *n* elements, and we can guarantee that each lookup of an element in the list can be done in unit time, then at most log_{2} *n* + 1 time units are needed to return an answer.

### Growth rate analysis of other resources :

The methodology of run-time analysis can also be utilized for predicting other growth rates, such as consumption of memory space. As an example, consider the following pseudocode which manages and reallocates memory usage by a program based on the size of a file which that program manages:

while(file still open)letn =size of fileforevery 100,000 kilobytes of increase in file sizedouble the amount of memory reserved

In this instance, as the file size n increases, memory will be consumed at an exponential growth rate, which is order O(2^{n}). This is an extremely rapid and most likely unmanageable growth rate for consumption of memory resources.

https://en.wikipedia.org/wiki/Analysis_of_algorithms

Please let me know if you need any clarification. I'm always happy to answer your questions.

*check_circle*

*check_circle*

*check_circle*

Secure Information

Content will be erased after question is completed.

*check_circle*