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

Exercise 2 - Amdahl's Law

A programmer has parallelized 99% of a program, but there is no value in increasing the problem size, i.e., the program will always be run with the same problem size regardless of the number of processors or cores used. What is the expected speedup on 20 processors? Solution As per Amdahl's law, the speedup,  N - No of processors = 20 f - % of parallel operation = 99% = 1 / (1 - 0.99) + (0.99 / 20) = 1 / 0.01 + (0.99 / 20) = 16.807 The expected speedup on 20 processors is 16.807

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.

Minor, Cofactor, Determinant, Adjoint & Inverse of a Matrix

Consider a matrix Minor of a Matrix I n the above matrix A, the minor of first element a 11  shall be Cofactor The Cofactor C ij  of an element a ij shall be When the sum of row number and column number is even, then Cofactor shall be positive, and for odd, Cofactor shall be negative. The determinant of an n x n matrix can be defined as the sum of multiplication of the first row element and their respective cofactors. Example, For a 2 x 2 matrix Cofactor C 11 = m 11 = | a 22 | = a 22  = 2 Determinant The determinant of A is  |A| = (3 x 2) - (1 x 1) = 5 Adjoint or Adjucate The Adjoint matrix of A , adjA is the transpose of its cofactor matrix. Inverse Matrix A matrix should be square matrix to have an inverse matrix and also its determinant should not be zero. The multiplication of matrix and its inverse shall be Identity matrix. The square matrix has no inverse is called Singular. Inv A = adjA / |A|           [ adjoint A / determ...