public void runApplication(String mode , String fileName) throws IOException{
		if(!mode.equals(Constants.RANDOM_MODE) 
				&& !mode.equals(Constants.INPUT_MODE_BHEAP_DIJKSTRAS)
				&& !mode.equals(Constants.INPUT_MODE_FHEAP_DIJKSTRAS)
				&& !mode.equals(Constants.INPUT_MODE_NORMAL_DIJKSTRAS)){
			
			// If the input paramerters are invalid then exit.
			System.out.println("Please enter correct parameters for executing the code");
			System.exit(0);
		}
		
		if(mode.equals(Constants.RANDOM_MODE)){
			// Invoke Random mode of execution
			System.out.println("============================  Random Mode   ============================================ ");
			RandomModeExecution.runForAllCombinations();
		}else{
			readData(fileName);
			initializeNodes();
			parseData();
			if(mode.equals(Constants.INPUT_MODE_NORMAL_DIJKSTRAS)){	
				
				// Invoke Dijkstras for Simple Scheme
				Dijkstras.runForAllNodes(nodeList);
				Dijkstras.printDistArr();

			}else if(mode.equals(Constants.INPUT_MODE_BHEAP_DIJKSTRAS)){
				
				// Invoke Dijkstras for Binomial Heap Scheme
				DijkstrasHeap.runForAllNodes(Constants.INPUT_MODE_BHEAP_DIJKSTRAS , nodeList);					
				DijkstrasHeap.printDistArr();

			}else if(mode.equals(Constants.INPUT_MODE_FHEAP_DIJKSTRAS)){

				// Invoke Dijkstras for F Heap Scheme
				DijkstrasHeap.runForAllNodes(Constants.INPUT_MODE_FHEAP_DIJKSTRAS, nodeList);
				DijkstrasHeap.printDistArr();
			}

		}

	}