<Written by Md. Jahidul Islam (Jim)>
Algorithm involves thinking about resource requirement, the time and space they use and scaling the input size. The basic approach of designing algorithm is to identify paradigmatic problems and approaches that illustrates with a minimum details. When people first begin analyzing discrete algorithms mathematically, a thread of research that begin gathering momentum through the 1960’s, a consensus began to emerge on how to quantify the notion of reasonable running time. It was also mentions by the scientists that an algorithm is efficient if it has a polynomial running time. The concrete mathematical definition of polynomial time has turn out to correspond surprisingly well in practice to what we observe about the efficiency of algorithm, and the tractability of problems.
The importance of graph is essential to continue mathematics in concern with certain basic structures such as real numbers, vectors and matrices, discrete mathematics has developed basic combinatorial structure that lies to the heart of algorithm. Transportation networks, communication networks, information networks, social networks and dependency networks relates with the meaning of nodes and edges both correspond the physical object in the real world. Path and connectivity is one of the fundamental operation in a graph that of traversing a sequence of nodes connected by edges. Use of list and arrays to represent graphs and tradeoff between different representation is a way to create good algorithm.
One often uses graphs to model transportation networks whose edges carry some soft of traffic and whose nodes act as switches passing traffic between different edges. Consider, for example, a highway system in which the edges are highways and the nodes are interchanges by a computer network in which the edges are links that can carry packets and the nodes are switches, or a fluid network in which edges are pipes that carry liquid and the nodes are junctures where pipes are plugged together. Network modes have several ingredients such as capacity of the edges, traffic absorber, which is transmitted across the edges.
Randomization and probabilistic analysis are themes that cut across many areas of computer science, including algorithm design, and when one think abut random process in the context of computing. One can consider traditional algorithm that confront randomly generated inputs. The word provides the same worst case input as always, but we allow our algorithm to make random decision as it processes the input. A natural worry in approaching the topic of randomized algorithms is that it requires an extensive knowledge of probability. Of course, it’s always better to know more than less, and some algorithm are indeed based on complex probabilistic ideas.