Algorithmus
parent
9d5e887c67
commit
0d62c6e356
|
@ -0,0 +1,126 @@
|
|||
package Algorithmus;
|
||||
|
||||
public class Algorithmus {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
int[] arr = { 4,34,2,6,8,12,21};
|
||||
int[] sortedArray =insertionSort(arr) ;
|
||||
|
||||
for (int i : sortedArray)
|
||||
System.out.print(i + " ");
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static int[] mergeSort(int[] arr) {
|
||||
/*
|
||||
* Big-O: O(n log n)
|
||||
*/
|
||||
return arr;
|
||||
}
|
||||
|
||||
public static int[] insertionSort(int[] arr) {
|
||||
/*
|
||||
* Big-O: O(n²)
|
||||
* indexes: 0 1 2 3 4 5 6
|
||||
* Beispiel array = int[] arr = { 4,34,2,6,8,10,21};
|
||||
*/
|
||||
|
||||
for (int i = 1; i < arr.length; i++) {
|
||||
// speicher den Wert an i Index nehmen an dass i = 2;
|
||||
// also z.b: Key = 2;
|
||||
int key = arr[i];
|
||||
// speicher das vorhägie Index
|
||||
int j = i - 1;
|
||||
/*
|
||||
* Also die While Loop Konzept ist:
|
||||
* - betrachtet wird die 2 an Index 2
|
||||
* - j = 1 also >= 0
|
||||
* - arr[i] ist in dem Fall = 34
|
||||
* - ist die 34 > 2, weil key = 2;
|
||||
* - ja
|
||||
*/
|
||||
while (j >= 0 && arr[j] > key) {
|
||||
//also ersetzen 34 druch die 2
|
||||
// aber die 2 wurde erst in var key abgespeichert
|
||||
arr[j + 1] = arr[j];
|
||||
// index j -1
|
||||
j = j - 1;
|
||||
}
|
||||
// hier ersetzen wir die 34 durch die 2
|
||||
arr[j + 1] = key;
|
||||
}
|
||||
|
||||
return arr; // Rückgabe des sortierten Arrays
|
||||
}
|
||||
|
||||
|
||||
public static int[] selectionSort(int[] arr) {
|
||||
|
||||
/*
|
||||
* Big-O: O(n²)
|
||||
* indexes: 0 1 2 3 4 5 6
|
||||
* Beispiel array = int[] arr = { 4,34,2,6,8,10,21};
|
||||
*
|
||||
*/
|
||||
//Äueßere Schleife beginnt bei Index(0) bis zu index (6)
|
||||
// Beispiel wert
|
||||
for (int i = 0; i < arr.length - 1; i++) { // i = index (4)
|
||||
int minIndex = i;// minIndex = index (4)
|
||||
|
||||
// überprüft ob die 4 < andere Element im array
|
||||
// es soll ab i + 1 überprüft werden
|
||||
for (int j = i + 1; j < arr.length; j++) {
|
||||
//ja, die 2 < 4
|
||||
if (arr[j] < arr[minIndex]) {
|
||||
// also minIndex = index (2) also gleich 2
|
||||
minIndex = j;
|
||||
}
|
||||
}
|
||||
// falls minIndex anderes Index bekommen hat?
|
||||
if (minIndex != i) {
|
||||
//speichere erst die 4 hier
|
||||
int temp = arr[i];
|
||||
// ersetzte die 2 durch die 4
|
||||
arr[i] = arr[minIndex];
|
||||
//ersetze die 4 durch die 2
|
||||
arr[minIndex] = temp;
|
||||
}
|
||||
}
|
||||
|
||||
return arr; // Rückgabe des sortierten Arrays
|
||||
}
|
||||
|
||||
public static int[] bubbleSort(int[] arr) {
|
||||
// Big-O: O(n²)
|
||||
for (int i = 0; i < arr.length; i++)
|
||||
for(int j = 0; j < arr.length; j++)
|
||||
if (arr[i] < arr[j]) {
|
||||
int temp = arr[i];
|
||||
arr[i] = arr[j];
|
||||
arr[j] = temp;
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
|
||||
public static int binarySearch(int[] arr, int value) {
|
||||
int erst = 0; // Initialisierung des Startindexes auf den ersten Index des Arrays
|
||||
int last = arr.length - 1; // Initialisierung des Endindexes auf den letzten Index des Arrays
|
||||
|
||||
while (erst <= last) { // Schleife läuft, solange der Startindex kleiner oder gleich dem Endindex ist
|
||||
int mittel = (erst + last) / 2; // Berechnung des mittleren Indexes durch Addition von Start und Ende, dann Division durch 2
|
||||
|
||||
if (arr[mittel] == value) // Überprüfung, ob der Wert im Array an der mittleren Position dem gesuchten Wert entspricht
|
||||
return mittel; // Wenn ja, wird der mittlere Index als Ergebnis zurückgegeben
|
||||
else if (arr[mittel] < value) // Überprüfung, ob der Wert im Array an der mittleren Position kleiner als der gesuchte Wert ist
|
||||
erst = mittel + 1; // Wenn ja, wird der Startindex auf die Position nach der Mitte gesetzt
|
||||
|
||||
else // Wenn der Wert im Array an der mittleren Position größer als der gesuchte Wert ist
|
||||
last = mittel - 1; // Setzt den Endindex auf die Position vor der Mitte
|
||||
}
|
||||
return -1; // Wenn der Wert nicht gefunden wird, wird -1 zurückgegeben
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -1,3 +1,4 @@
|
|||
package Übungen;
|
||||
public abstract class Abrechnung {
|
||||
private int periode;
|
||||
private Mitarbeiter mitarbeiter;
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
package Übungen;
|
||||
public class GehaltsAbrechnung extends Abrechnung {
|
||||
|
||||
private double gehalt;
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
package Übungen;
|
||||
public class Lohnabrechnung extends Abrechnung {
|
||||
|
||||
private double stundenLohn;
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
package Übungen;
|
||||
public class Mitarbeiter {
|
||||
protected int id;
|
||||
protected String name;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
|
||||
package Übungen;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class Nacnhrichten{
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
package Übungen;
|
||||
import java.lang.reflect.Array;
|
||||
import java.util.ArrayList;
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
package Übungen;
|
||||
public class Radio {
|
||||
boolean eingeschaltet;
|
||||
int lautstaerker;
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
package Übungen;
|
||||
public class TestMitarbeiter {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
package Übungen;
|
||||
public class TestRadio {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
package Übungen;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class Tic_Tac_Toe {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
package Übungen;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class Whatsapp extends Nacnhrichten {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
package Übungen;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class WhatsappTest {
|
||||
|
|
Loading…
Reference in New Issue