Im Grunde machst du zwei Durchläufe durch dne Graphen von Anfang bis Ende. (Da der Graph azyklisch ist und gerichtet gibt es auch Anfänge und Enden, evtl. zwar mehrere, aber das macht es kaum schwerer.)

Beim ersten Durchlauf sortierst du die Knoten topologisch. Das heißt, dass für jeden Knoten alle seine Nachfolger in der Sortierung danach kommen.
Das schaust du dir am besten einmal an ein paar Beispielen an, dann wird offensichtlich, was das bedeutet.
Der Graph ist dann so sortiert, dass erst alle Vorgänger eines Knoten drankommen, bevor der Knoten selbst an der Reihe ist.

Beim zweiten Durchlauf gehst du dann alle Knoten der Reihe nach durch. Durch die Sortierung arbeitest du erst alle Vorgänger eines Knotens ab, bevor du den Knoten selbst behandelst.
Dadurch kannst du für einen Knoten die jeweiligen Kosten berechnen, indem du die bereits berechneten Kosten aller Vorgänger plus die Kantengewichte vergleichst.

Die topologische Sortierung funktioniert folgendermaßen:
Für jeden Knoten bestimmst du die Menge der noch nicht abgearbeiteten Vorgängerknoten. Ist diese 0, fügst du den Knoten als nächstes Element in der Sortierung hinzu und verringerst die Zahl der noch nicht abgearbeiteten Vorgängerknoten für alle Nachfolger um 1.

...zur Antwort

Du rufst da an und fragst nach einem Termin. Evtl. mit Überweisung eines Arztes.

Was du für das Erstgespräch und Diagnostik brauchst wäre ein Psychater, sprich ein Facharzt für Psychatrie.

Deine Eltern bekommen schlußendlich wahrscheinlich in jedem Fall etwas mit, denn bei denen bist du i.d.R. mitversichert, weshalb die über die versicherung von dem Besuch erfahren. Über den Inhalt aber nur bedingt (maximal die Schlüssel der in rechnung gestellten Untersuchungen wenn du nicht möchtest, dass sie mehr erfahren, und das auch beim Arzt klarstellst).

Beim Besuch hängt es davon ab, weswegen genau du da bist. Je nachdem werden dann verschiedene Sachen gemacht, im wesentlichen wie bei anderen Ärzten auch. Allerdings hast du üblicherweise mehr Zeit mit dem Arzt (und falls dir die Zeit nicht reicht kann man für den nächtsten termin evtl. mehr einplanen, müsstest du dann beim Anfragen für den Termin evtl. mit dazusagen).

Einen Zettel mit Sachen drauf zu haben ist sicherlich sehr sinnvoll. Aber stelle dich darauf ein, dass das Gespräch evtl. auch ganz anders verlaufen kann als du das geplant hast, also sehe das eher als Checkliste.
Wenn du sehr schüchtern bist, schreib den Zettel lesbar, dann kannst du den auch aushändigen falls es mit dem selber Lesen nicht klappt.

Der Arzt sollte dann schauen, dass er irgendeinen Diagnostik anstoßen kann. Welcher Art hinge davon ab, was du so erzählst.
Manche Untersuchungen können evtl. gleich im Anschluss gemacht werden (Bluttests beispielsweise oder evtl. auch anderes wenn die entsprechend Zeit haben), anderes kann erst im laufe folgender Termine stattfinden.

...zur Antwort

Gib mal in die URL-Leitse "about:config" ein. Akzeptiere die Meldung.

Dann gib oben mal folgendes nacheinander ein:

extensions.screenshots.disabled
screenshots.browser.component.enabled

Beides müsste den Wert "false" haben. Wenn nicht, dann mach einen Doppelklick drauf, damit sich der Wert zu "true" ändert.

...zur Antwort

Kannst du anspreche. Ist nicht sein Fachbereich, aber Ärzte haben alle eine allgemeine Grundausbildung.

Sprich, er sollte dir eine Überweisung ausstellen können und evtl. kann er dir auch ein Schmerzmittel oder entzündungshemmendes Medikament verschreiben.

...zur Antwort

Ne, du hast deinen Taschenrechner schlicht auf RAD statt auf DEG eingestellt. Das musst du umstellen.

...zur Antwort

Ja, Allergien können sich im Laufe des Lebens entwickeln und auch verschwinden.

...zur Antwort

Vielleicht machst du dann irgendetwas falsch?

Ich würde versuchen, mich dem langsam zu nähern. Häng doch mal Ziele an einer Schnur auf und agiere mit diesen. Dann entfernst du die Ziele und versuchst es nur mit der Schnur. Und dann ganz ohne Schnur.

...zur Antwort

Meine Vermutung: Du erstellst immer wieder neue Affen. Wenn du die Affen nicht triffst bevor ein neuer Affe erzeugt wird, bleibt der alte Affe bestehen und ist aber unzerstörbar, weil du nur "afe" zerstörst und nicht das jeweilige getroffene Entity.

Schau mal, ob du irgendwie auf das gerade aktive Entity zugreifen kannst und mache das da, wo es sinnvoll ist. Das erleichtert später auch die Erweiterung des Codes.

EDIT: Meine Vermutung bestätigt sich beim Testen. Du kannst immer nur den letzten erstellten Gegner zerstören. Und es erscheinen mehrere Gegner, obwohl du nur eine einzige Variable für Gegner hast.

...zur Antwort

Zum Erzeugen der Pizza verwende einen Array oder eine Liste oder dergleichen, in er du Pizzen speicherst.
Die Position kannst du mittels Zufallsgenerator generieren:

https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/util/Random.html

(Gibt auch noch andere Zufalls-Sachen.)

Damit die Pizzen herunterfallen, schreibe eine Update-Funktion, die die Position updated.
Diese erhält als Parameter die "deltaTime", die zeit, die siet dem letztem Update vergangen ist.

Das Update funktioniert dann einfach mittels:

v_n = v_n-1 + a * dt;
x_n = x_n-1 + v_n * dt;

Wobei "v_n" die Geschwindigkeit zum Zeitpunkt "n" ist, "x_n" die Position zum Zeitpunkt "n", "a" die Beschleunigung (Fallbeschleunigung) und "dt" die "deltaTime".

Diese Funktion rufst du dann immer wieder auf. Die "deltaTime" trackst du irgendwo beim Aufrufer. Du speicherst dir die letzte Aufrufzeit. Bei jedem Aufruf rufst du die aktuelle Zeit auf, berechnest die Differenz zur vorherigen zeit als "deltaTime" und updatest die vorherige Zeit mit der gerade aufgerufenen aktuellen Zeit.

Die Zeit erhälst du über eine passende Funktion:

https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/System.html#nanoTime()

oder

https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/System.html#currentTimeMillis()

Beachte die Einheit. Die musst du umrechnen in die passende für deine Berechnung (aber am besten erst dann, wenn du musst, nicht dass Information zu früh verloren geht).

...zur Antwort
mutter hat alles selbstbezahlte weggeschmissen?

hey,

also ich hatte letztens wieder einen streit mit meiner mutter. sie hat erfahren dass ich eine heimliche kennenlernphase hatte und ist ausgerastet. sie ist direkt in mein zimmer gerannt und hat alles was auf meinem tisch lag vor meinen augen in den müll container geschmissen. auf dem tisch lagen schminksachen, teure parfüms, produkte für meine haare und auch medikamente für meine hautkrankheit. alles habe ich mit meinem eigenen geld finanziert, ich hab zwei minijobs gearbeitet und alles selber gekauft. sie weiß genau dass mir diese sachen viel bedeuten, vor allem die medikamente für meine hautkrankheit (neurodermitis). diese krankheit hat sich auf meine kopfhaut weitergezogen und dadurch ist meine kopfhaut immer sehr trocken wodurch dann schuppen entstehen. ich war immer sehr unsicher denn ich denke immer dass die leute denken ich würde nicht duschen oder so. dieses medikament war das einzige was mir geholfen hat - sehr preisgünstig war es auch nicht.

sie hat mich nicht nur vor meinem (jetzigen) freund blamiert (hat ihn angerufen, angeschrien, beleidigt usw.), sie hat nicht nur meiner besten freundin auch die schuld gegeben (im sinne von meine freundin ist daran schuld dass ich kontakt mit jungs habe), sondern sie hat mir auch meinen ganzen eigentum weggenommen. meine freundin hat den kontakt zu mir abgebrochen wegen der aktion.

auf diesem tisch lagen sachen im wert von mindestens 400€. mein restliches geld (60€) hat sie ebenso weggenommen.

sie ruiniert mir förmlich alles was ich hatte. jetzt weiß ich nicht was ich machen soll, mir waren diese produkte so so wichtig sie hat alles vor meinen augen weggeschmissen

...zur Frage

Dein Eigentum, insofern darf sie das nicht einfach wegschmeißen. Dein Geld darf sie dir auch nicht wegnehmen.

Wende dich an eine Vertrauensperson oder, falls du keine hast, an das Jugendamt.

...zur Antwort

Wenn du es als Bild hast, kannst du das doch in Paint ohne Umstände machen. Einfach ein Textfeld über das Feld und da dann tippen.

Wenn es ein PDF ist gibt es womöglich spezielle Tools oder so (wobei nur manche Dokumente tatsächlich ausfüllbare Felder hinterlegt haben leider).

...zur Antwort

Wenn ich den Fehler richtig interpretiere (analog zu dem, was in Vulkan "device lost" bedeutet), dann kann das so ziemlich alles sein.

Schau, dass die Grafiktreiber aktuell sind. Wenn sie das sind und der fehler bestehen bleibt, dann wende dich an die Spieleentwickler bzw. - herausgeber.

...zur Antwort

Versuch es doch mal mit dem "buffer"-Parameter im ndarray-Konstruktor.

https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray

Ob es funktioniert lässt sich aufgrund der unzureichenden Dokumentation des numpy-APIs nicht vorab sagen.

Ansonsten gibt es auch noch "put":

https://numpy.org/doc/stable/reference/generated/numpy.ndarray.put.html#numpy.ndarray.put

Für genaueres siehe auch:

https://numpy.org/doc/stable/reference/arrays.ndarray.html

...zur Antwort

Ich würde die weiße Katze noch etwas schattieren (oder dergleichen). Das sieht an einigen Stellen recht merkwürdig aus der Übergang der Farbe und an anderen Stellen fehlt der Kontrast bzw. es lässt sich schwer zwischen Hintergrund und Vordergrund unterschieden.

...zur Antwort
Reguläre Grammatik vs regulärer Ausdruck?

Hallo,

ich arbeite gerade das Buch Compiler Engineering von Cooper durch und habe schon mehrere Fragen dazu. Vllt gibt es ja einen ITler, der mir helfen kann.

Im zweiten Kapitel habe ich reguläre Ausdrücke kennengelernt, mit welcher man eine reguläre Sprache beschreiben kann.

Der Scanner erzeugt also Wörter, die an den Parser weitergegeben werden.

Frage 1: Jetzt arbeitet der Parser mit einer regulären Grammatik, um eine Syntaxanalyse durchzuführen. Zu Beginn dachte ich, bei den Terminalen handelt es sich um Wörter aus der Sprache, aber wenn ich es jetzt richig verstehe, sind Terminale Zeichen aus dem Alphabet, über welchem die Sprache gebildet wird.

Wie erzeugt der Parser daraus eine Syntaxprüfung, wenn nicht die Reihenfolge der Wörter, sondern die, der Buchstaben analysiert wird. Sind die Grammatiken denn so komplex, dass die Wortreihenfolge kontrolliert werden kann? Bzw. wieso werden für beide Phasen dann nicht einfach eine Grammatik oder RegExes genutzt, anstatt beides zu definieren?

Frage 2: Ich dachte immer, eine Reg Gram und eine RegEx wären unterschiedliche Dinge. Hier https://de.wikipedia.org/wiki/Regul%C3%A4re_Grammatik#Regul%C3%A4re_Sprachen und im Beitrag unter Regulären Sprachen, wird aber gesagt, dass dies beide äquivalente Konzepte sind.

Was mich daran stört.

Als nicht reguläre Sprache wird häufig die Sprache L = a^n b^n genannt. Mir ist zwar bewusst, dass ich die Sprache nicht durch eine RegEx oder einen Automaten abbilden kann (von denen mir bewusst ist, dass sie äquivalent sind), aber ich könnte doch mit einer Regulären Grammatik bspw. die Ableitungsregel S -> aSb | € (epislon soll das sein :P) erzeugen und hätte damit doch eine Beschreibung für die Sprache.

Wenn RegExes und RegGrams aber äquivalent sind, dann scheine ich ja einen Fehler in der Ableitung zu machen.

Frage 3: Definition Reguläre Sprachen https://de.wikipedia.org/wiki/Regul%C3%A4re_Sprache#Definition

Hier wird beschrieben, dass eine der Bedingungen erfüllt sein muss, damit es sich um eine Reg Sprache handelt. Aber wenn eine Bedingung erfüllt ist, sind nicht gleichzeitig alle Bedingungen erfüllt?

Verwirrt mich alles ziemlich

...zur Frage
Zu Beginn dachte ich, bei den Terminalen handelt es sich um Wörter aus der Sprache, aber wenn ich es jetzt richig verstehe, sind Terminale Zeichen aus dem Alphabet, über welchem die Sprache gebildet wird. Wie erzeugt der Parser daraus eine Syntaxprüfung, wenn nicht die Reihenfolge der Wörter, sondern die, der Buchstaben analysiert wird.

Ein Missverständnis. Die Terminale sind die Token, die der Scanner dir liefert. Die Wörter werden dann aus den Terminalen gebildet.

Du hast einmal diverse reguläre Ausdrücke für den Scanner, um jeweils die Token zu identifizieren. Und dann hast du eine Sprache für die Syntaxprüfung, die dir sagt, wie die Token aneinandergereiht werden dürfen.

Die Sprache für Syntaxprüfung und weiteres parsen wird schlußendlich aber womöglich nicht mehr regulär sein.

Bzw. wieso werden für beide Phasen dann nicht einfach eine Grammatik oder RegExes genutzt, anstatt beides zu definieren?

Du kannst beides als eine Sprache definieren. Macnt man in teilen auch so. Aber man kann es halt auch sinnvoll trennen, für die Token jeweils eigene reguläre Ausdrücke definieren, um diese zu identifizieren und dann damit weiterzumachen.

Frage 2

Nun, es sind unterschiedliche Dinge, aber äquivalente Konzepte. Ein Regulärer Ausdruck kann exakt einer regulären Grammatik zugeordnet werden bzw. eine solche auch definieren.

aber ich könnte doch mit einer Regulären Grammatik bspw. die Ableitungsregel S -> aSb | € (epislon soll das sein :P) erzeugen und hätte damit doch eine Beschreibung für die Sprache.

Die Sprache ist wahrscheinlich nicht regulär. Das kannst du mittels Pummping-Lemma prüfen.
Das Problem erkennst du dann, wenn du ein Wort der Sprache vor dir hast und versuchst zu prüfen, ob das in der Sprache liegt. Du kommt nicht drum herum zu zählen.

Aber wenn eine Bedingung erfüllt ist, sind nicht gleichzeitig alle Bedingungen erfüllt?

Wahrscheinlich. Steht ja da, dass die Bedingungen äquivalent seien.

...zur Antwort

Am besten gehst du dahin, wo Leute auch erwarten, dass du sie ansprichst. In Bars zum Beispiel oder auf Partys.

Und dann geh es sachte an. Behalte dein Ziel vor Augen. Willst du nur Sex, sprich ONS oder F+? Oder mehr?
Du solltest im Übrigen auch nicht gleich mit der Tür ins Haus fallen. Und wenn du mehr willst vermutlich beim ersten Treffen auch höchstens am Rande darauf zu sprechen kommen (außer es ergäbe sich oder wäre aus irgendwelchen Gründen besonders relevant).

Und nicht gleich aufgeben, wenn es nicht klappt. Das kann schon etliche Male dauern bis du jemanden triffst, mit dem du zusammenpasst und der das genauso sieht wie du.

...zur Antwort