Algorithmus – die besten Beiträge

Youtube Videos/Twitch Streams auf Deutsch oder Englisch?

Hallo! Ich würde gerne als Hobby mit Twitch streams/Youtube Videos starten. Hier mein Dilemma: Ich weiß nicht, ob ich dies auf Deutsch oder auf Englisch tun soll. Konkreter wäre die Frage ob diese Plattformen Videos/Streams eher Leuten aus dem selben Herkunftsland wie der Creator vorschlagen oder nicht.

Zusammenfassung warum ich mir diese Frage stelle:

Ich habe früher als Content Creator für ein größeres Handyspiel gearbeitet. Meine Hauptplattform war zwar Instagram, jedoch hat die Firma des Spieles mich irgendwann gebeten, auch einen Tiktok Account anzulegen. Gemacht getan, jedoch stellte sich das als absolut sinnlos heraus, da ich aus Österreich bin und Tiktok meine Videos daher ausschließlich Leuten aus Österreich und Deutschland vorgeschlagen hat. Das Spiel ist in diesen Ländern eher unpopulär, was dazu geführt hat, dass meine Videos nie an die richtige Audienz kamen. Hashtags, das ändern des Landes und der Sprache und das Verbieten des Zugreifens auf den Standort haben allesamt nichts geholfen.

Würde ich meine Videos/Streams auf Englisch machen, hätte ich quasi einen "Headstart" durch meine bereits sehr hohe Followerbase auf Instagram. Sollte bei Twitch und Youtube jedoch die gleiche Problematik wie bei Tiktok auftreten, bringt auf Dauer auch ein "Headstart" absolut gar nichts...

YouTube, Stream, YouTuber, Algorithmus, Follower, Twitch, YouTube-Kanal, TikTok, Influencer

Ist dieses Struktogramm passend für mein Merge-Sort Code?

Ist das folgende Struktogramm, welches ich erstellt habe, passend zu meinem Java Merge-Sort Code oder muss ich noch was nachbessern?

Code:

import java.util.Arrays;
import java.util.Random;

public class MergeSortWithMetrics {
  // Zähler für Sortierschritte
  static long comparisons = 0;
  static long assignments = 0;

  public static void main(String[] args) {
    // Konfiguration: Array-Größe und Zahlbereich
    int arraySize = 10000; // Größe des Arrays
    int numberRange = 214748647; // Bereich der Zufallszahlen (0 bis numberRange)
    boolean ArrayAusgebenAn = false;
    boolean StatistikenAn = true;
    
    // Zufälliges Array erstellen
    int[] array = generateRandomArray(arraySize, numberRange);
    if (ArrayAusgebenAn){
      System.out.println("Unsortiertes Array:");
      System.out.println(Arrays.toString(array));
    }
    
    // Zeitmessung starten
    long startTime = System.currentTimeMillis();
    // MergeSort aufrufen
    int[] sortedArray = mergeSort(array);
    // Zeitmessung beenden
    long endTime = System.currentTimeMillis();
    // Sortiertes Array ausgeben
    if (ArrayAusgebenAn){
    System.out.println("Sortiertes Array:");
    System.out.println(Arrays.toString(sortedArray));
    }
    
    // Statistiken ausgeben
    if (StatistikenAn){
    System.out.println("Sortierschritte:");
    System.out.println("Vergleiche: " + comparisons);
    System.out.println("Zuweisungen: " + assignments);
    System.out.println("Zeitmessung: " + (endTime - startTime) + " ms");
    }
    
  }

  // Funktion, um ein zufälliges Array zu generieren
  public static int[] generateRandomArray(int size, int range) {
    Random random = new Random();
    int[] array = new int[size];
    for (int i = 0; i < size; i++) {
      array[i] = random.nextInt(range);
    }
    return array;
  }

  // MergeSort-Algorithmus
  public static int[] mergeSort(int[] array) {
    if (array.length <= 1) {
      return array;
    }

    // Array in zwei Hälften teilen
    int mid = array.length / 2;
    int[] left = Arrays.copyOfRange(array, 0, mid);
    int[] right = Arrays.copyOfRange(array, mid, array.length);

    // Rekursive Sortierung der Hälften
    left = mergeSort(left);
    right = mergeSort(right);
    // Zusammenfügen der sortierten Hälften
    return merge(left, right);
  }

  // Merge-Funktion: Zwei sortierte Arrays zusammenfügen
  public static int[] merge(int[] left, int[] right) {
    int[] merged = new int[left.length + right.length];
    int i = 0, j = 0, k = 0;

    // Elemente vergleichen und in das neue Array einfügen
    while (i < left.length && j < right.length) {
      comparisons++;
      if (left[i] <= right[j]) {
        merged[k++] = left[i++];
      } else {
        merged[k++] = right[j++];
      }
      assignments++;
    }

    // Restliche Elemente hinzufügen
    while (i < left.length) {
      merged[k++] = left[i++];
      assignments++;
    }
    while (j < right.length) {
      merged[k++] = right[j++];
      assignments++;
    }
    return merged;
  }
}

Bild zum Beitrag
Java, Array, Algorithmus, Struktogramm

Meistgelesene Beiträge zum Thema Algorithmus