import java.util.ArrayList;
import java.util.Comparator;
class mergePattern {
int TotalTimeComputation=0;
ArrayList<Integer> data = new ArrayList<>();
mergePattern(int []data) {
for (int e : data) {
this.data.add(e);
}
doStuff();
}
void doStuff() {
System.out.println("Optimal merge pattern for given data \n");
for (int e : data) {
System.out.print(" " + e);
}
while (data.size() > 1) {
System.out.println("\n");
data.sort(Comparator.naturalOrder());
int sum = data.get(0)+ data.get(1);
TotalTimeComputation = TotalTimeComputation + sum;
data.add(sum);
data.remove(0);
data.remove(0);
data.sort(Comparator.naturalOrder());
for (int e : data) {
System.out.print(" " + e);
}
}
}
}
class work {
public static void main(String args[]) {
int data[] = {3, 5, 9, 11, 16, 18, 20};
mergePattern obj = new mergePattern(data);
System.out.println("\n total time Computation is "+ obj.TotalTimeComputation);
}
}
Comments
Post a Comment