Select your language

Suggested languages for you:
Log In Anmelden

Lernmaterialien für Algorithmen und Datenstrukturen an der Universität Osnabrück

Greife auf kostenlose Karteikarten, Zusammenfassungen, Übungsaufgaben und Altklausuren für deinen Algorithmen und Datenstrukturen Kurs an der Universität Osnabrück zu.

TESTE DEIN WISSEN

wie kann man werte am ende vom vector einfügen

Lösung anzeigen
TESTE DEIN WISSEN

vector::push_back( wert ) 


-for ( int wert = 0; wert < 10; wert = wert+1 ) {

    zahlen.push_back(wert);

}

Lösung ausblenden
TESTE DEIN WISSEN

wie kann man auf die elemente zugreifen bei vectoren

Lösung anzeigen
TESTE DEIN WISSEN

for ( int index = 0; index < zahlen.size(); index = index+1 ) {

    cout << zahlen[index] << " ";

}

Lösung ausblenden
TESTE DEIN WISSEN

wie kann man werte verändern bei vectoren zb 5 zu 42

Lösung anzeigen
TESTE DEIN WISSEN

zahlen[5] = 42;

Lösung ausblenden
TESTE DEIN WISSEN

Mehrere Werte in einem Array hinzufügen

Lösung anzeigen
TESTE DEIN WISSEN

Will man mehrere Werte hinzufügen bietet sich vector::assign(anzahl,wert) an. 

-Dabei wird der Vector geleert und anzahl viele Einträge mit dem Wert wert hinzugefügt. 


zahlen.assign(5,100);


for ( int index = 0; index < zahlen.size(); index = index+1 ) {

    cout << zahlen[index] << " ";

}

Lösung ausblenden
TESTE DEIN WISSEN

was ist ein Dereferenzierungs-Operator ?

Lösung anzeigen
TESTE DEIN WISSEN

das ist wenn man dem Iterator einen Stern voran stellt , alos *it. 

-Man sagt, dass der Iterator dereferenziet wird, d.h. man greift auf den Wert zu, auf den er zeigt

Lösung ausblenden
TESTE DEIN WISSEN

was gibt es für zusammengesetze operatoren?(shortcuts)

Lösung anzeigen
TESTE DEIN WISSEN

+=, -=, *=, /= und %=. Diese Verbinden eine entsprechende Rechnung mit einer Zuweisung.

Lösung ausblenden
TESTE DEIN WISSEN

int wert = -42;


cout << (( wert < 0 ) ? 0 : wert) << endl; 

was bedeutet das?

Lösung anzeigen
TESTE DEIN WISSEN

Hierbei verwenden wir die folgende Kurzform:

<Bedingung> ? <true-Wert> : <false-Wert>

Dieser Ausdruck prüft die Bedingung. ergibt sie den Wert true, wird der <true-Wert> als Ergebnis des Ausdrucks verwendet, ansonsten der <false-Wert>.

Lösung ausblenden
TESTE DEIN WISSEN

wofür ist der typ auto?

Lösung anzeigen
TESTE DEIN WISSEN

Eine Abkürzung, die sehr praktisch ist, aber auch mit Vorsicht eingesetzt werden sollte ist der Typ auto.

- Mit ihm legt man den Wert einer Variable automatisch durch die Initalisierung mit einem Wert fest. 

-Im folgenden Beispiel erhält die Variable w den Typ int, da sie mit einem int initialisiert wird. 


auto w = 2;   // w hat den Typ int

w = 2;

Lösung ausblenden
TESTE DEIN WISSEN

was ist eine signatur

Lösung anzeigen
TESTE DEIN WISSEN

zb int suche( int gesucht, int feld[], int laenge ) 

Lösung ausblenden
TESTE DEIN WISSEN

was ist typecast

Lösung anzeigen
TESTE DEIN WISSEN

Beim Typecasting wird eine Variable eines Typs, z. B. ein int, für eine einzelne Operation wie ein anderer Typ, ein char, verhalten. Um etwas zu typisieren, setzen Sie einfach den Variablentyp, den die tatsächliche Variable als Klammer verwenden soll, vor die tatsächliche Variable. (char) a bewirkt, dass 'a' als char fungiert.

Lösung ausblenden
TESTE DEIN WISSEN

Obere Schranke für die Anzahl der benötigten Schleifendurchläufe

Lösung anzeigen
TESTE DEIN WISSEN

Man sucht die kleinste neutrale Zahl i, mit 

n/2^i < 1

Lösung ausblenden
TESTE DEIN WISSEN

Laufzeit von Iteratoren 

Lösung anzeigen
TESTE DEIN WISSEN

O(1)

Lösung ausblenden
  • 83249 Karteikarten
  • 1619 Studierende
  • 146 Lernmaterialien

Beispielhafte Karteikarten für deinen Algorithmen und Datenstrukturen Kurs an der Universität Osnabrück - von Kommilitonen auf StudySmarter erstellt!

Q:

wie kann man werte am ende vom vector einfügen

A:

vector::push_back( wert ) 


-for ( int wert = 0; wert < 10; wert = wert+1 ) {

    zahlen.push_back(wert);

}

Q:

wie kann man auf die elemente zugreifen bei vectoren

A:

for ( int index = 0; index < zahlen.size(); index = index+1 ) {

    cout << zahlen[index] << " ";

}

Q:

wie kann man werte verändern bei vectoren zb 5 zu 42

A:

zahlen[5] = 42;

Q:

Mehrere Werte in einem Array hinzufügen

A:

Will man mehrere Werte hinzufügen bietet sich vector::assign(anzahl,wert) an. 

-Dabei wird der Vector geleert und anzahl viele Einträge mit dem Wert wert hinzugefügt. 


zahlen.assign(5,100);


for ( int index = 0; index < zahlen.size(); index = index+1 ) {

    cout << zahlen[index] << " ";

}

Q:

was ist ein Dereferenzierungs-Operator ?

A:

das ist wenn man dem Iterator einen Stern voran stellt , alos *it. 

-Man sagt, dass der Iterator dereferenziet wird, d.h. man greift auf den Wert zu, auf den er zeigt

Mehr Karteikarten anzeigen
Q:

was gibt es für zusammengesetze operatoren?(shortcuts)

A:

+=, -=, *=, /= und %=. Diese Verbinden eine entsprechende Rechnung mit einer Zuweisung.

Q:

int wert = -42;


cout << (( wert < 0 ) ? 0 : wert) << endl; 

was bedeutet das?

A:

Hierbei verwenden wir die folgende Kurzform:

<Bedingung> ? <true-Wert> : <false-Wert>

Dieser Ausdruck prüft die Bedingung. ergibt sie den Wert true, wird der <true-Wert> als Ergebnis des Ausdrucks verwendet, ansonsten der <false-Wert>.

Q:

wofür ist der typ auto?

A:

Eine Abkürzung, die sehr praktisch ist, aber auch mit Vorsicht eingesetzt werden sollte ist der Typ auto.

- Mit ihm legt man den Wert einer Variable automatisch durch die Initalisierung mit einem Wert fest. 

-Im folgenden Beispiel erhält die Variable w den Typ int, da sie mit einem int initialisiert wird. 


auto w = 2;   // w hat den Typ int

w = 2;

Q:

was ist eine signatur

A:

zb int suche( int gesucht, int feld[], int laenge ) 

Q:

was ist typecast

A:

Beim Typecasting wird eine Variable eines Typs, z. B. ein int, für eine einzelne Operation wie ein anderer Typ, ein char, verhalten. Um etwas zu typisieren, setzen Sie einfach den Variablentyp, den die tatsächliche Variable als Klammer verwenden soll, vor die tatsächliche Variable. (char) a bewirkt, dass 'a' als char fungiert.

Q:

Obere Schranke für die Anzahl der benötigten Schleifendurchläufe

A:

Man sucht die kleinste neutrale Zahl i, mit 

n/2^i < 1

Q:

Laufzeit von Iteratoren 

A:

O(1)

Algorithmen und Datenstrukturen

Erstelle und finde Lernmaterialien auf StudySmarter.

Greife kostenlos auf tausende geteilte Karteikarten, Zusammenfassungen, Altklausuren und mehr zu.

Jetzt loslegen

Eine der Algorithmen und Datenstrukturen Zusammenfassungen auf StudySmarter | Universität Osnabrück

Binärbäume


Binärbäume (und auch allgemeinere Bäume) werden immer wieder zur Verwaltung von Daten oder zur Repräsentationen von Strukturen verwendet. Sehr intuitive Beispiele sind Rechenbäume, wie z.B.

arithmetische ausdruck:

 Die Zahlewn und Variablen entsprechen den Blättern des Baumes und die Rechenoperatoren den inneren Knoten. Da sie zweistellig sind, ergibt sich ein

 Binärbaum, bei dem jeder innere Knoten zwei Kinder hat. Für die nicht kommutativen Rechenoperationen ist es außerdem wichtig, welches das linke

 und welches das rechte Kind ist.


73(3+𝑥)(5/(2−1))

- Elemente= Knoten

-Kanten =verbinden jeweils zwei knoten miteinander -> wichtig:in welche richtung knoten verlaufen. Bei Bäumen von oben nach unten

-Wurzel= oberster knoten

-Blätter=knoten von den keine kante aus geht 

-Vater und Kind= zwei knoten von einer kante verbunden

-in allgemeinen Bäumen gibt es beliebig viele Kinder

- Die 7 hat zb 3 kinder




- In vielen anwendungen reicht es binärbäume anzuschauen,dh solche bei dem jeder knoten höchstens 2 Kinder hat

- binärbäume können unterschiedliche dinge darstellen

- links oben stellt morsa alphabet dar

-oben mitte ist ein suchbaum, bei dem man mögl. schnell bestimmte elemente zu finden sind

-rechts oben -> kein binärbaum

-links unten ist ein rechenbaum welcher mathematische ausdrücke mit sich bringt

-unten mitte ist ein hafmantcode

-unten rechts ist ein entscheidungsbaum-> prüft ob ein baum äpfel tragen wird




 

- diese rekusive definition werden wir verwenden um algorithmen auf binären bäumen zu entwickeln




- in der iten ebene des baumes begonnen bei 0 für die wurzel sind höchsten 2 hoch i knoten enthalten

->liegt daran das in jeder ebene doppelt so viel knoten sein können wie in der ebene davor, da jeder knoten max. 2 Kinder hat




- um die Baumstruktur zu speichern hat jeder Knoten 3 weitere zeiger-> ein zu sein vater und 2 zu seinen beiden mögl. kindern



-konstruktor haben evtl knoten mit kindern

-getter u. setter um an daten zu kommen bzw sie zu verändern



- um struktur des binärbaums herstellen zu können haben wir 2 setter set left child und set right child

->außerdem haben wir entsprechende getter

- für den vater haben wir nur ein getter und können ihn nicht direkt setzen, stattdessen müssen wir immer ein kind zu dem vater hinzufügen

-> liegt daaran das wir wissem müssen welches kind wir zu dem vater setzen (das linke oder rechte) und auch daran das wenn wir ein kind setzen wir den vaterknoten korriegieren müssen

- einfacher wenn wir vater dem kind zu weisen statt kind dem vater

- komplette implementierug lassen wir weg, ist einfach man muss achten das man die richtigen zeiger auf die richtigen objekte setzt

- man muss aufpassen wen man dem vater ein kind zu weist und das alte kind kein vater mehr hat. -> muss man entsprechend darauf achten








Algorithmen und Datenstrukturen

Diese Zusammenfassung wurde von Kommilitonen erstellt

Entdecke mehr

Das sind die beliebtesten StudySmarter Kurse für deinen Studiengang Algorithmen und Datenstrukturen an der Universität Osnabrück

Für deinen Studiengang Algorithmen und Datenstrukturen an der Universität Osnabrück gibt es bereits viele Kurse, die von deinen Kommilitonen auf StudySmarter erstellt wurden. Karteikarten, Zusammenfassungen, Altklausuren, Übungsaufgaben und mehr warten auf dich!

Das sind die beliebtesten Algorithmen und Datenstrukturen Kurse im gesamten StudySmarter Universum

Datenstrukturen und Algorithmen

Fachhochschule Campus 02 Graz

Zum Kurs
Datenstrukturen und Algorithmen

Hochschule Trier

Zum Kurs
Algorithmen & Datenstrukturen

Duale Hochschule Baden-Württemberg

Zum Kurs
Datenstrukturen und Algorithmen

RWTH Aachen

Zum Kurs

Die all-in-one Lernapp für Studierende

Greife auf Millionen geteilter Lernmaterialien der StudySmarter Community zu
Kostenlos anmelden Algorithmen und Datenstrukturen
Erstelle Karteikarten und Zusammenfassungen mit den StudySmarter Tools
Kostenlos loslegen Algorithmen und Datenstrukturen