import { KursblockungAlgorithmusS } from '../../core/kursblockung/KursblockungAlgorithmusS'; import { Random } from '../../java/util/Random'; import { KursblockungDynDaten } from '../../core/kursblockung/KursblockungDynDaten'; import { Class } from '../../java/lang/Class'; import { Logger } from '../../core/logger/Logger'; export declare class KursblockungAlgorithmusSMatching extends KursblockungAlgorithmusS { /** * Die Anzahl an Runden ohne Verbesserung, bevor es zum Abbruch kommt. */ private static readonly MAX_RUNDEN_IN_FOLGE_OHNE_VERBESSERUNG; /** * Array der SuS, deren Kurse verteilt werden sollen. */ private readonly schuelerArr; /** * Zur Speicherung einer zufälligen Permutation der Indizes der Schüler. */ private readonly perm; /** * Im Konstruktor kann die Klasse die jeweiligen Datenstrukturen aufbauen. Kurse dürfen in diese Methode noch nicht * auf Schienen verteilt werden. * * @param pRandom Ein {@link Random}-Objekt zur Steuerung des Zufalls über einen Anfangs-Seed. * @param pLogger Logger zum Protokollieren von Warnungen und Fehlern. * @param pDynDat Die dynamischen Blockungsdaten. */ constructor(pRandom: Random, pLogger: Logger, pDynDat: KursblockungDynDaten); /** * Der Algorithmus verteilt die SuS auf ihre Kurse zufällig. Kommt es während des Verteilens zur Kollision, so wird * der Kurs nicht gewählt. */ berechne(): void; /** * Der Algorithmus verteilt alle SuS in zufälliger Reihenfolge erneut. * * @return TRUE, falls der Zustand sich verbessert hat. */ private verteileAlleSchueler; private verteileEinenSchueler; transpilerCanonicalName(): string; isTranspiledInstanceOf(name: string): boolean; static class: Class; } export declare function cast_de_svws_nrw_core_kursblockung_KursblockungAlgorithmusSMatching(obj: unknown): KursblockungAlgorithmusSMatching; //# sourceMappingURL=KursblockungAlgorithmusSMatching.d.ts.map