All Classes and Interfaces
Class
Description
BRANCH AND BOUND PROBLEM: THE PROBLEM OF ASSIGNING N TASK TO AGENTS
GREEDY ALGORITHM PROBLEM: THE PROBLEM OF ASSIGNING N TASK TO AGENTS
This program can solve the problem using two
greedy algorithms and test operation.
GREEDY ALGORITHM PROBLEM: THE PROBLEM OF ASSIGNING N TASK TO AGENTS
This program serves to increase the size of the
execution times of the problem and to check the
quadratic behavior expected O(n^2)
GREEDY ALGORITHM PROBLEM: THE PROBLEM OF ASSIGNING N TASK TO AGENTS
This program serves to randomly generate a matrix
of costs (the size is introduced by the user).
BACKTRACKING PROBLEM: THE PROBLEM OF ASSIGNING N TASK TO AGENTS
This program can solve the problem using a backtracking algorithm
Demonstrates basic
ArrayList operations: add, remove, and iteration.Sorting algorithm: Bidirectional Bubble method
Sorting algorithm: Binary Insertion method
Binary Search implementation for finding an element in a sorted array.
Main class to solve problems using the Branch and Bound technique
We need to extend it for any specific problem
Main class to solve problems using the Branch and Bound technique
We need to extend it for any specific problem
Bubble Sort Algorithm - Educational Sorting Implementation.
Coin Change Problem — Dynamic Programming solution.
GREEDY ALGORITHM PROBLEM: THE PROBLEM OF THE CHANGE OF MONEY
It has an optimal solution in some cases.
GREEDY ALGORITHM PROBLEM: THE HORSE JUMPING PROBLEM (Knight's tour)
It has not an optimal solution in some cases
BACKTRACKING PROBLEM: THE HORSE JUMPING PROBLEM
The program calculates all the ways of moving a
horse through an entire chessboard of side n
BACKTRACKING PROBLEM: THE HORSE JUMPING PROBLEM
This program calculates all the ways of moving a
horse through an entire chessboard of side n
GREEDY ALGORITHM PROBLEM: THE HORSE JUMPING PROBLEM (Knight's tour)
It has not an optimal solution in some cases
BACKTRACKING PROBLEM: THE PROBLEM OF THE N QUEENS
This program calculates one way of placing
n queens on a chessboard of side n
BACKTRACKING PROBLEM: THE PROBLEM OF THE N QUEENS
This program calculates one way of placing
n queens on a chessboard of side n
DYNAMIC PROGRAMMING PROBLEM: MATHEMATICAL COMBINATIONS n x k
The recursive algorithm that calculates Combinations has
exponential complexity and repeats calculations
already performed.
Sorting algorithm: Direct insertion method
Sorting algorithm: Direct selection method
BRANCH AND BOUND PROBLEM: THE PUZZLE
DIVIDE AND CONQUER PROBLEM: CALCULATE THE FACTORIAL OF A NUMBER
To calculate the factorial of a number
Fibonacci Number Calculation using Divide and Conquer and Iterative Approaches.
DYNAMIC PROGRAMMING: CALCULATE THE FIBONACCI NUMBER OF ORDER n
Fibonacci Series = 0,1,1,2,3,5,8,13,21,34,55,89,...
e.g. the 0 is when n=0 and the 89 is when n=11
To solve the classical Fibonacci algorithm
using a recursive and inefficient algorithm
To calculate the Fibonacci of a number n
GREEDY ALGORITHM PROBLEM: MAXIMIZE THE NUMBER OF FILES ON A DISK
It has an optimal solution.
GREEDY ALGORITHM PROBLEM: MINIMIZE THE FREE SPACE ON A DISK WITH FILES
It has NOT an optimal solution in some cases.
GREATEST COMMON DIVISORS: Calculate the GCG of two positive integers
To get the addition of a list of numbers
To get the maximum of a list of numbers
Demonstrates
HashSet operations: add, remove, and contains.To save and sort the nodes that are going to be used
Sorting algorithm: Heapsort method
To save and sort the nodes that are going to be used
Just to show a small example of how the project is structured
Sorting algorithm: Bubble method with sentinel
Interface for sorting algorithms
GREEDY ALGORITHM PROBLEM: THE KNAPSACK PROBLEM (BREAKABLE)
it has an optimal solution
0/1 Knapsack Problem - Dynamic Programming Solution.
GREEDY ALGORITHM PROBLEM: THE KNAPSACK PROBLEM (0/1).
Demonstrates
LinkedHashSet operations.Demonstrates
LinkedList as a doubly-linked list with
operations at both ends: addFirst, addLast, removeFirst, and removeLast.//DIVIDE AND CONQUER PROBLEM: IS THERE A MAJORITARIAN ELEMENT
IN n ELEMENTS?
Computes the max pairwise product among different numbers
E.g.: 7 3 6 => 42
However, in this example we will only work with two integer numbers
Computes the max pairwise product among different numbers
E.g.: 7 3 6 => 42
However, in this example we will only work with two long numbers
Computes the max pairwise product among different numbers
E.g.: 7 3 6 => 42
We will load the numbers from MaxPairWiseProductRandomNumbers.txt
Computes the max pairwise product among different numbers
E.g.: 7 3 6 => 42
We will load the numbers from MaxPairWiseProductRandomNumbers.txt
Computes the max pairwise product among different numbers
E.g.: 7 3 6 => 42
We will load the numbers from MaxPairWiseProductRandomNumbers.txt
Computes the max pairwise product among different numbers
E.g.: 7 3 6 => 42
We will load the numbers from MaxPairWiseProductRandomNumbers.txt
Generates a test data file of random integers for the MaxPairWiseProduct problem.
DIVIDE AND CONQUER PROBLEM: MAXIMUM SUMMATION
OF ALL THE SUBSEQUENCES OF n ELEMENTS
//DIVIDE AND CONQUER PROBLEM: THE MEDIAN OF n ELEMENTS
Mergesort algorithm using divide-and-conquer.
//DIVIDE AND CONQUER PROBLEM: MODE OF n ELEMENTS
To represent the different states of a problem in the graph
For each problem, we should extend this class with specific information
We also need to compare Nodes because it is the way to compare them in the priority queue
BACKTRACKING PROBLEM: PERMUTATIONS OF N ELEMENTS
This program generates permutations of the
integer elements that are in the vector v
BACKTRACKING PROBLEM: PERMUTATIONS OF N ELEMENTS
This program calculates times to generate the permutations
of n elements.
Single-plumber scheduling utility.
Demonstrates
PriorityQueue with natural ordering.Quicksort sorting algorithm.
Sorting algorithm: Radix method
BRANCH AND BOUND PROBLEM: OPTIMAL PLACEMENT OF RECTANGLES
BRANCH AND BOUND PROBLEM: OPTIMAL PLACEMENT OF RECTANGLES
To calculate the cube root of the values of an array
To calculate the square of the values of an array
To calculate the addition of the values of an array
DYNAMIC PROGRAMMING PROBLEM: CHEAPER TRAVEL ON THE RIVER
It consists on finding the minimum cost for each pair of points
To use different methods for searching numbers in an array
DIVIDE AND CONQUER PROBLEM: CALCULATE THE POSITION OF AN ELEMENT x IN A
VECTOR (SORTED OR UNSORTED) OF n DIFFERENT ELEMENTS
Sorting algorithm: Shellsort method
GREEDY ALGORITHM PROBLEM: SOME DILIGENT PLUMBERS
It has an optimal solution
BACKTRACKING PROBLEM: SUBSETS OF A GIVEN SUM
This program, given a set consisting of n different positive
integers, computes all subsets which sum a given value c
Demonstrates
TreeSet with natural sorted ordering.Utility class for divide-and-conquer sorting helpers.
Helper class to trace and use common operations among sorting algorithms
Demonstrates the legacy thread-safe
Vector collection.DIVIDE AND CONQUER PROBLEM: CALCULATE THE SUM OF n ELEMENTS IN A VECTOR
Worker thread for the parallel Branch and Bound search.