All pair shortest path algorithm is used to find shortest distance between each pair of vertices.
Kruskal’s algorithm is a minimum-spanning-tree algorithm where the algorithm finds an edge of the least possible weight that connects any two trees in the forest. It is a greedy algorithm in graph theory as it finds a minimum spanning tree for a connected weighted graph at each step.
Prim’s algorithm is a greedy algorithm that finds a minimum spanning tree for a connected weighted undirected graph.
According to Wikipedia,
The knapsack problem or rucksack problem is a problem in combinatorial optimization: Given a set of items, each with a mass and a value, determine the number of each item to include in a collection so that the total weight is less than or equal to a given limit and the total value is as large as possible.
Quicksort is a divide and conquer algorithm. Here is an another way to implement this algorithm in Java.