## From Recursion to Tail Recursion in Scala

#scala #recursion #optimization

## Twitter API Streaming in Python

Maybe the easiest way to connect to Twitter API and to stream tweets, is using Python and Tweepy. You can install Tweepy using pip: Tweepy is an open source library and you can check the source here. Maybe, take a peak at StreamListener class and see what additional options are available. ‘Nuff said. Here’s the ...

## Google’s PageRank Algorithm in Python

Have you ever asked yourself how google ranks the pages when you search something on google.com? If yes, have a look at PageRank algorithm definition. I’ll not go into much details here, but to give you an idea, the World Wide Web can be seen as a large graph, consisting of pages as nodes and ...

## A Star (A*) Algorithm with Caching – Java Implementation

Route calculation is computationally an expensive operation. There are several ways how to reduce computational load on the backend. I’ll show you how I optimized my computational resources. There are times where a bunch of people is heading to the same event using the same or at least similar paths. Following this logic, it is ...

## A Star (A*) Algorithm Implementation in Java

A* algorithm can be seen as an heuristic extension of Dijkstra’s. Whereas in the Dijkstra’s priority-queue ordering is based only on the distance from the start node to the current, A* algorithm additionally calculates the distance from the current node to the goal-node. Thus the ordering in the priority queue is different and the algorithm ...

## Dijkstra’s Algorithm implementation in Java

The Breadth First Search (BFS) algorithm basically checks only if there is a path from node A to node B. It’ doesn’t necessarily find the shortest path between two graph nodes. Here comes Dijkstra into the game. Dijkstra’s algorithm finds the shortest possible route between two graph nodes. The main difference between Dijkstra and BFS ...

## Breadth First Search (BFS) in Java – Code

Long time ago, I had to implement BFS in Java as a part of exercise at the university. BFS, like Depth First Search (DFS), is a search algorithm for graphs and trees. They have uses in route planing(google-maps, navigation devices etc.) and in many other applications. You can read about some use cases and DFS vs. BFS ...