Skip to main content

Abstract Data Type

An Abstract Data Type(ADT) defines data types only in terms of their operations, and the axioms to which those operations must adhere.

List, Stack, Queue, Set, Map, Stream are examples of ADT.

In a stack, the element deleted is the one which was recently inserted: Is is Last-in, First-out (LIFO) policy. 

In a queue, the element deleted is always the one that has been for the longest time in the set. It is a First-in, First-out (FIFO) policy.

Stack

The insert operation on a stack is called Push and delete operation is called Pop.

The attempt to pop an empty stack is called underflows and if top exceeds n of the stack, it is called overflows.

Queue

The insert operation on a queue is called Enqueue and delete operation is called Dequeue. The queue has a head and tail.

When the Queue head is equal to tail, the queue is empty. When the queue head is tail+1, the queue is full.

Linked List

A linked list is a data structure in which the objects are arranged in a linear order. The order in a linked list is determined by a pointer in each object.

The linked list is an object with an attribute key and two other pointer attributes, next and prev.

If a list is sorted, the linear order of the list corresponds to the linear order of keys stored in elements of the list.

Popular posts from this blog

Decision Tree - Gini Index

The Gini index is used in CART. The Gini index measures the impurity of the data set, where p i - probability that data in the data set, D belong to class, C i  and pi = |C i,D |/|D| There are 2 v - 2 possible ways to form two partitions of the data set, D based on a binary split on a attribute. Each of the possible binary splits of the attribute is considered. The subset that gives the minimum Gini index is selected as the splitting subset for discrete valued attribute. The degree of Gini index varies between 0 and 1. The value 0 denotes that all elements belong to a certain class or if there exists only one class, and the value 1 denotes that the elements are randomly distributed across various classes. A Gini Index of 0.5 denotes equally distributed elements into some classes. The Gini index is biased toward multivalued attributes and has difficulty when the number of classes is large.

Gaussian Elimination - Row reduction Algorithm

 Gaussian elimination is a method for solving matrix equations of the form, Ax=b.  This method is also known as the row reduction algorithm. Back  Substitution Solving the last equation for the variable and then work backward into the first equation to solve it.  The fundamental idea is to add multiples of one equation to the others in order to eliminate a variable and to continue this process until only one variable is left. Pivot row The row that is used to perform elimination of a variable from other rows is called the pivot row. Example: Solving a linear equation The augmented matrix for the above equation shall be The equation shall be solved using back substitution. The eliminating the first variable (x1) in the first row (Pivot row) by carrying out the row operation. As the second row become zero, the row will be shifted to bottom by carrying out partial pivoting. Now, the second variable (x2)  shall be eliminated by carrying out the row operation again. ...

Exercise 1 - Amdahl's Law

A programmer is given the job to write a program on a computer with processor having speedup factor 3.8 on 4 processors. He makes it 95% parallel and goes home dreaming of a big pay raise. Using Amdahl’s law, and assuming the problem size is the same as the serial version, and ignoring communication costs, what is the speedup factor that the programmer will get? Solution Speedup formula as per Amdahl's Law, N - no of processor = 4 f - % of parallel operation = 95% Speedup = 1 / (1 - 0.95) + (0.95/4) = 1 / 0.5 + (0.95/4) Speedup = 3.478 The programmer gets  3.478 as t he speedup factor.