## CS502: Fundamentals of Algorithms (PDF)

An algorithm is a set of rules that specify the order and type of arithmetic functions used in a particular set of data. The algorithm is an effective way to solve a problem using a limited sequence of instructions.  CS502 HANDOUTS

Course Category: Computer Science/Information Technology

#### Course Outline

Analyzing the worst-case running time of an algorithm as a function of input size, solve recurrence relations, Basics of Divide and Conquer strategy, Understand the concepts of Dynamic programming, Understand the concepts of Greedy Algorithm, Understand the concepts of Graph traversing, Understand the concepts of MST and their algorithms, Understand the algorithms for computing shortest path, Basics of Complexity theory. CS502 HANDOUTS PDF

##### TELENOR FREE INTERNET PACKAGES

Join VU assignment solution groups and also share with friends. In these WhatsApp groups, we send solution files, VU handouts, VU past papers, and links to you. To join WhatsApp groups click the below links.

## MUST JOIN VU STUDY GROUPS

### CS502: Design and Analysis of AlgorithmsHandouts

#### Algorithm

An algorithm is any well-defined calculation process that takes certain values, or a set of values, as input and generates a certain value, or a set of values, as output. The algorithm is therefore a sequence of calculation steps that converts inputs into output.

#### Algorithms, Programming

A good understanding of algorithms is essential to a well-rounded understanding of computer science: editing. Unlike a program, an algorithm is a mathematical business, independent of a specific programming language, machine, or producer. So, in a way, the design of the algorithm is about mathematical theory after the design of good programs.

#### Analyzing Algorithms

In order to build good algorithms, we must first comply with the terms of algorithms. The emphasis in this study will be on building an efficient algorithm, and that is why we will be measuring algorithms according to the number of calculation resources required by the algorithm. These resources include a lot of time and memory. Depending on the request, there may be more considerable features, such as the disk number accessed in the database system or the network bandwidth of the network application.

#### Model of Computation

Unlike programs, algorithms should be understood primarily by people (i.e. program planners) and not machines. So it gives us a little bit of flexibility in how we present our algorithms, and a lot of low-level information may be left out (as it will be the job of the editor who uses the algorithm to complete it). But, in order to say anything logical about our algorithms, it will be important for us to be based on a mathematical model. Ideally, this model should be a logical release of a standard generic single-processor machine. We call this model a random access machine or RAM.

#### Running Time Analysis

The main purpose of our statistical analysis will be to measure performance time. We will also be concerned with the space (memory) required by the algorithm. The operating time of the algorithm will depend on computer speed, programming language, organizer set, etc. Although important, we will ignore these technical issues in our analysis.

To estimate the operating time of a brute-force 2-d maxima algorithm, we can calculate the number of artificial code steps used, calculate the number of times a P-element is reached, or the number of comparisons achieved that are performed. The operating time depends on the size of the input, e.g. n Different inserts of the same size may result in different operating times. For example, exiting the internal loop in the brute-force algorithm depends not only on the input P size but also on the input configuration.