Datenorganisation. Was ist ein array?
|
|
- Elisabeth Heidrich
- vor 6 Jahren
- Abrufe
Transkript
1 Datenstrukturen: Arrays, Listen und Bäume Standardalgorithmen: Suchen und Sortieren Dateiverwaltung Seite 1 Was ist ein array? Vektor (eindimensionales Feld) a 1 a 2 a 3 a 4... a n Matrix (zweidimensionales Feld) m 1,1 m 1,2 m 1,3... m 1,r m 2,1 m 2,2 m 2,3... m 2,r... m s,1 m s,2 m s,3... m s,r Datenfelder (arrays) geordnete Zusammenfassung von Datenelementen gleichen Datentyps (int, float, char,...); auch mehr als zweidimensional zulässig direkter Zugriff über Indices; Adressrechnung notwendig Seite 2
2 Array-Datentyp Datentyp: entspricht dem Datentyp der Elemente Vereinbarung: Name des arrays + Anzahl der Elemente + deren Datentyp Zugriff: über Indices (Adress-Rechnung) oder Zeiger Beispiel: Vereinbarung: float werte[20][3]; Zugriff: werte[12][2] Seite 3 Vereinbarung von arrays Funktion: reserviert Speicherplatz für die angegebene Anzahl Elemente im entsprechenden Datentyp Index des 1. Elementes in der Programmiersprache C ist immer 0; alsein mit x[10] vereinbartes Array enthält die Elemente x[0], x[1],..., x[9] Beispiele: int x[10]; char satz[40]; float matrix[100][20], tabelle[12][4]; Seite 4
3 Daten-Eingabe in arrays nur möglich unter Benutzung von Zyklen zur Eingabe von Werten in die einzelnen Elemente: for-anweisung bei bekannter, fester Anzahl von Elementen while-anweisung bei unbekannter, variabler Anzahl Test einer Abbruchbedingung (am Anfang absichern!) do-anweisung Test der Abbruchbedingung am Ende Seite 5 Zugriff zu array-elementen Zugriff erfolgt über einen Index bzw. mehrere Indices Zuweisung: x[3] = a*c1 +...; in Ausdrücken: anzahl = x[1]+x[2]: Seite 6
4 Anwendungsbeispiele Verarbeitung von Tabellen / Matrizen Sortieren: BubbleSort SelectionSort... Statistische Methoden: Datenauswertungen Abweichungen von statistischen Maßen Regressionsanalyse Seite 7 Anwendung von Arrays SelectionSort Struktogramm Verarbeitung Eingabe Ausgabe LIES (anzahl); für i von 1 bis anzahl LIES (zahl[i]); für j von 1 bis (anzahl-1) min=zahl[j]; pos=j; für i von (j+1) bis anzahl zahl[i]<min ja? nein min=zahl[i]; pos=i; zahl[pos]=zahl[j]; zahl[j]=min; für i von 1 bis anzahl SCHREIBE (zahl[i]); Seite 8
5 Anwendung von Arrays SelectionSort #include <stdio.h> void main() { int min, pos; // Minimum, Position von min int i,j,anz; // Index, Anzahl der Zahlen int zahl[50]; // indizierte Zahlenwerte printf("wieviele Zahlen? = "); // unsortiert einlesen scanf("%d",&anz); for (i=0; i<anz; i++) { printf("%2i : ",i+1); scanf("%i", &zahl[i]); } for (i=0; i<anz-1; i++) { // Sortierung min=zahl[i]; pos=i; for (j=i+1; j<anz; j++) if (zahl[j]<min) { min=zahl[j]; pos=j; } zahl[pos]=zahl[i]; zahl[i]=min; } printf ("\n\nsortiert:\n"); // sortiert ausgeben for (i=0; i<anz; i++) printf("%2i : %6i\n", i+1, zahl[i]); } Seite 9 Zeichenketten Speicherung in Vektoren vom Typ char variable Länge durch Abschlusszeichen '\0' (ASCII-Code 0) gekennzeichnet; Elemente nach dem Abschlusszeichen haben undefinierten Inhalt in C keine Operatoren für Zeichenkettenverarbeitung vorhanden, aber in der C-Bibliothek string.h existieren zahlreiche Routinen Seite 10
6 Vereinbarung von Zeichenketten Vereinbarung als Vektoren vom Typ char Beispiele: char str[50]; char name[20] = "Meier"; Seite 11 Verarbeitung von Zeichenketten Ein- und Ausgabe: formatierte Ein- und Ausgabe mit Format "%s" Beispiel: scanf ("%s", str); kein & vor dem Bezeichner! printf ("%s", str); Zugriff auf einzelne Zeichen: elementweise analog Vektoren Routinen für die Verarbeitung (in string.h enthalten): strcat verbindet zwei Strings zu einem strchr sucht ein bestimmtes Zeichen im String strcmp vergleicht zwei Zeichenketten lexikographisch strcpy kopiert einen String auf einen String Seite 12
7 Dynamische Datenstrukturen Array statische Datenstruktur Größe muss bei Definition bekannt sein und bleibt konstant gesamter Speicherplatz bleibt reserviert, auch wenn nicht benutzt direkter Zugriff, wenn Position bekannt, sonst sequentielle Suche Einfügen mitten in Array nur nach Verschiebung der nachfolgenden Elemente möglich Löschen eines Elementes hinterlässt freien Speicherplatz; problematisch Schlussfolgerung: für viele Aufgaben nicht gut geeignet Ausweg: Dynamische Datenstrukturen, z.b. Listen und Bäume Seite 13 Lineare Liste Begriffe first key next key next key NULL Eigenschaften: sequentielle Verkettung von Datensätzen Ordnungsprinzip: Schlüssel (key) Speicherbedarf wächst mit der Größe der Liste; leere Liste braucht nur first Begriffe: first - Anker, Wurzel; Adresse des logischen Listenanfangs key - Schlüssel; Ordnungskriterium next - Adresse des logischen Nachfolgers - Datensatz-Inhalt NULL - leere Adresse; logisches Ende der Liste Seite 14
8 Lineare Liste Beispiel *Biber Biber *Dachs Dachs *Habicht Habicht *Maus Maus *Uhu Uhu NULL Seite 15 Operationen in linearen Listen Einfügen am Anfang *Adler Adler *Biber Algorithmus: Speichern des neuen Listenelementes auf beliebigen freien Speicherplatz Adresse der bisherigen Wurzel in next des neuen Listenelementes eintragen Adresse des neuen Listenelementes in first eintragen Biber *Dachs Dachs *Habicht Habicht *Maus Maus *Uhu Uhu NULL Seite 16
9 Operationen in linearen Listen Einfügen innerhalb der Liste Adler *Biber Katze *Maus *Adler Biber *Dachs Dachs *Habicht Algorithmus: Speicherung des neuen Elementes auf beliebigen freien Speicherplatz Suchen der Einfügestelle (sequentielles Durchlaufen der Liste) Adresse des logischen Nachfolgers aus next des logischen Vorgängers in next des neuen Elementes eintragen Adresse des neuen Elementes in next des logischen Vorgängers eintragen Habicht *Katze Maus *Uhu Uhu NULL Seite 17 Operationen in linearen Listen Einfügen am Ende der Liste *Adler Adler *Biber Biber *Dachs Dachs *Habicht Habicht *Katze Algorithmus: Speicherung des neuen Elementes auf beliebigen freien Speicherplatz Suchen der Einfügestelle (sequentielles Durchlaufen der Liste) Adresse NULL aus next des logischen Vorgängers in next des neuen Elementes eintragen Adresse des neuen Elementes in next des bisherigen logisch letzten Elementes eintragen Katze *Maus Maus *Uhu Uhu *Zebra Zebra NULL Seite 18
10 Operationen in linearen Listen Löschen eines Elementes der Liste *Adler Adler *Biber Biber *Dachs Dachs *Katze Algorithmus: Suchen des zu löschenden Elementes (sequentielles Durchlaufen der Liste) Adresse des logischen Nachfolgers des zu löschenden Elementes aus next dieses Habicht *Katze Elementes in next des logischen Vorgängers eintragen (anstelle der Adresse des zu löschenden Elementes) Speicherplatz des gelöschten Elementes freigeben Katze *Maus Maus *Uhu Uhu *Zebra Zebra NULL Seite 19 Lineare Liste Implementierung Voraussetzung: Direktzugriffsspeicher Notwendiger Speicherplatz: für n Datensätze zu je m Bytes = n*m Bytes Speicherplatz für Anker Verwaltung des Speichers durch Programm durch Betriebssystem Satzaufbau: Schlüsselattribut key Satzinhalt / Daten Zeiger auf logisch nächsten Datensatz next Seite 20
11 Lineare Liste Probleme aufwändiges Durchsuchen: Rückwärtsverkettung zusätzlich, Mehrfachverkettung Speicherverwaltung der leeren Datensätze: Bitmap (1 bit/datensatz) oder Lineare Liste freier Datensätze (Ankeradresse + Kettung der leeren Datensätze) oder...? logische Reihenfolge entspricht nicht physischer Reihenfolge: Reorganisation = Herstellen der Übereinstimmung von logischer und physischer Folge Seite 21 Binärer Suchbaum besteht aus Knoten mit genau einem Eingang und max. zwei Ausgängen Ordnung im Baum: nach Schlüsselwerten der jeweiligen Knoten alle Knoten haben links von einem Knoten kleinere, rechts größere Schlüsselwerte als der Ausgangsknoten Seite 22
12 Binärbäume Begriffe Baum (tree) = endlicher, schwach zusammenhängender Graph, für dessen Knoten gilt: genau ein Knoten hat keinen Eingang (Wurzel, root) alle anderen Knoten haben genau einen Eingang endlicher Graph = Menge Knoten N (nodes) + Menge Kanten E (edges) Binärer Baum (binary tree) = geordneter Baum, der leer ist oder für dessen Knoten gilt: außer den Endknoten haben alle Knoten genau zwei Ausgänge maximal ein "Kind" jedes "Elternknotens" ist leer Seite 23 Binärbäume Begriffe Vollständiger Baum: alle Knoten besetzt Tiefe 0 Tiefe Wurzel 7 Unterbaum Unausgeglichener Baum: ungleiche Tiefe Direkter Nachfolger Vorgänger Tiefe Blätter 1 4 Ausgeglichener Baum: beide Äste gleiche Tiefe oder max. eine Ebene Unterschied 5 7 Brüder Seite 24
13 Binärer Suchbaum Erzeugen Ausgangspunkt: Folge von Werten Beispiel: Seite 25 Binärer Suchbaum Hinzufügen Hinzufügen: (in dieser Reihenfolge) Algorithmus: Durchlaufen des Baumes bis zu einem Blatt Anhängen des neuen Knotens Seite 26
14 Binärer Suchbaum Löschen Algorithmus: Durchlaufen des Baumes bis zum zu löschenden Knoten Fallunterscheidung: Endknoten Knoten mit nur einem Nachfolger: Nachfolger ersetzt den zu löschenden Knoten Knoten mit zwei Nachfolgern: "größter" Knoten im "linken" Unterbaum bzw. "kleinster" Knoten im "rechten" Unterbaum ersetzt den zu löschenden Knoten Seite 27 Binärer Suchbaum Suchen / Durchlaufen Algorithmus: Durchlaufen des Baumes bis zum gesuchten Knoten oder zu einem Blatt (= "nicht gefunden") Beispiel: maxtiefe = 20 Anzahl der Knoten eines Baumes: n B = 2 (maxtiefe + 1) Durchschnittliche Anzahl der Zugriffe: v B = ( maxtiefe+1) / 2 10,5 Anzahl der Zugriffe in einer Liste (zum Vergleich): v L = ( n L + 1 ) / Seite 28
15 Suchverfahren Begriffe Suchen = Bestimmen der Position (Adresse) eines Wertes in einer Datenfolge Sequentielles Suchen einfachstes Suchverfahren keine Vorbedingungen (Ordnung) notwendig hoher Suchaufwand: im Durchschnitt n/2 Zugriffe für eine n-elementige Datenmenge Seite 29 Suchverfahren Binäre Suche Voraussetzung: sortierte Folge Algorithmus: 1. Anfangsindex first=1; Anzahl der Werte n 2. Test des Wertes "in der Mitte" der Folge, also bei Position m = (first + n/2) 3. Ist das der gesuchte Wert: Ende 4. Ist der gesuchte Wert größer, dann Ausschluss des Bereiches von Position first bis (first + n/2): first = first + n/2; n=(n+1)/2 sonst Ausschluss des Bereiches von Position (first + n/2) bis n: n=(n+1)/2 5. Wiederhole ab Schritt 2. Seite 30
16 Suchverfahren Binäre Suche Beispiel: gesucht 45 in der vorliegenden Folge Zugriff 4. Zugriff: gefunden 3. Zugriff 1. Zugriff Seite 31 Daten sortieren verschiedene Sortierverfahren SelectionSort BubbleSort Seite 32
17 Sortierverfahren SelectionSort Seite 33 Sortierverfahren SelectionSort Algorithmus für Sortierung in aufsteigender Folge: 1. Setze den Anfangszeiger auf das (absolut) 1. Element der Folge. 2. Durchsuche die Folge vom (aktuellen) Anfangszeiger bis zum Ende nach dem kleinsten Element und merke Dir dessen Position und Wert. 3. Vertausche das (jeweils) 1. Element der Suchfolge mit dem kleinsten; dieses steht damit in der sortierten Folge an der "richtigen Stelle". 4. Setze den Anfangszeiger um eine Position weiter, auf das nunmehr 1. Element der verbleibenden Folge. 5. Wiederhole die Schritte 2. bis 5. solange, bis der Anfangszeiger auf das vorletzte Element zeigt; die Folge ist dann sortiert. Seite 34
18 Sortierverfahren SelectionSort void SelectionSort (int arr[], long int anz) { int min; long int h, k, pos; } for (h=0; h<anz-1; h++) { min = arr[h]; pos = h; for (k=h+1; k<anz; k++) { if (arr[k] < min) { min = arr[k]; pos = k; } } arr[pos] = arr[h]; arr[h] = min; } Seite 35 Sortierverfahren BubbleSort Seite 36
19 Sortierverfahren BubbleSort Seite 37 Sortierverfahren BubbleSort Algorithmus für Sortierung in aufsteigender Folge: 1. Setze den Anfangszeiger auf das 1. Element der Folge. 2. Setze die "Tauschkennung" auf Vergleiche das 1. und das 2. Element der Folge. 4. Falls das (jeweils) 2. kleiner ist als das (jeweils) 1., vertausche beide miteinander und erhöhe die "Tauschkennung". 5. Wiederhole Schritt 3. und 4. für alle Elementpaare der Folge. 6. Wiederhole die Schritte 1. bis 5. für die unsortierte Teilfolge, solange die "Tauschkennung" nach Durchlaufen der Schritte 3. bis 5. größer 0 ist oder aber (n-1) Durchläufe erreicht sind. Verbessungsmöglichkeiten: abwechselnd von vorn und von hinten beginnen Kombination von beiden Seite 38
20 Sortierverfahren BubbleSort void BubbleSort (int arr[], long int anz) { int tausch, hilf; long int k; } do { tausch = 0; for (k=0; k<anz-1; k++) { if (arr[k+1] < arr[k]) { hilf = arr[k]; arr[k] = arr[k+1]; arr[k+1] = hilf; tausch++; } } anz--; } while (tausch); Seite 39 Vergleich der Sortierverfahren Animation: E:\modul_04_cd\Lektion_do06\text\Java\sortAlgorithms.html Seite 40
21 Sortierverfahren Bewertung Experimentelle Untersuchung: Erzeugung unterschiedlicher Mengen zufallsverteilter Ausgangsdaten Zeitmessung, bezogen auf den reinen Sortiervorgang, für verschiedene Datenmengen und verschiedene Sortierverfahren statistische Auswertung Theoretische Untersuchung: Analyse des Aufwandes (Speicherplatz-, Rechenzeitbedarf) in Abhängigkeit von der zu sortierenden Datenmenge Seite 41 Sortierverfahren Zeitmessungen Erzeugen unsortierter Daten Start- und Endzeit messen Versuchsparameter: Sortierverfahren zu sortierende Menge Rechnerleistung Reproduzierbarkeit gewährleisten statistische Auswertung Seite 42
22 Datenspeicherung Arbeitsspeicher ist flüchtig, enthält die Daten nur während der Verarbeitung (Laufzeit des jeweiligen Programms) dauerhafte Speicherung auf Datenträger, z.b. Platte, Diskette, CD-ROM, DVD, USB-Stick, Magnetband,... Speicherung als Datei, vom Betriebssystem verwaltet Dateitypen: sequentielle Dateien: Schreiben und Lesen in gleicher, feststehender (sequentieller) Reihenfolge Direktzugriffsdateien: Schreiben und Lesen in beliebiger (wahlfreier) Reihenfolge; zum Zugriff Beziehung zwischen Daten (Schlüssel) und Speicheradresse notwendig Seite 43 Probleme der Dateiarbeit jede Datei hat eigene Struktur für alle Datei-Operationen (Hinzufügen, Löschen, Ändern, Suchen,...) je Dateistruktur eigene Programme notwendig; jede Dateistruktur-Änderung hat Änderungen bei allen Programmen zur Folge, die diese Datei nutzen keine Unabhängigkeit von Daten und Programmen Mehrfachnutzung von gleichen Daten wird behindert Ausweg: Datenbanksysteme Seite 44
23 Kontrollfragen 1. Wozu dienen Arrays? Wie werden sie eingelesen, wie verarbeitet und wie ausgegeben? 2. Was ist eine Zeichenkette? Wir sie eingelesen, verarbeitet und ausgegeben? 3. Was verstehen Sie unter dynamischen Datenstrukturen? 4. Wie ist eine Liste organisiert und was nützt sie? 5. Wie ist ein binärer Suchbaum organisiert und wozu wird er verwendet? 6. Welche unterschiedlichen Sortierverfahren kennen Sie und wie funktionieren sie? 7. Wie kann man Leistungsparameter von Sortier-Algorithmen bestimmen? 8. Wie werden Daten auf externen Speichern abgelegt und welche Probleme können dabei entstehen? Seite 45
Logische Datenstrukturen
Lineare Listen Stapel, Warteschlangen Binärbäume Seite 1 Lineare Liste Begriffe first Funktion: sequentielle Verkettung von Datensätzen Ordnungsprinzip: Schlüssel Begriffe: first - Anker, Wurzel; Adresse
MehrSuchen und Sortieren
Suchen und Sortieren Suchen Sortieren Mischen Zeitmessungen Bewertung von Sortier-Verfahren Seite 1 Suchverfahren Begriffe Suchen = Bestimmen der Position (Adresse) eines Wertes in einer Datenfolge Sequentielles
MehrPhysische Datenstrukturen
Elementare Datentypen Strukturierte Datentypen Zeiger Seite 1 Einfache Datentypen Datentyp char Verwendung: ASCII-Zeichen Wertebereich: alle darstellbaren Zeichen, 8 bit lange Ganzzahlen im Intervall -128
MehrAlgorithmen und Datenstrukturen 2. Dynamische Datenstrukturen
Algorithmen und Datenstrukturen 2 Dynamische Datenstrukturen Algorithmen für dynamische Datenstrukturen Zugriff auf Variable und Felder durch einen Ausdruck: Namen durch feste Adressen referenziert Anzahl
MehrGrundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny
Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.
Mehr7. Sortieren Lernziele. 7. Sortieren
7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
MehrGI Vektoren
Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung
MehrTeil 5: Zeiger, Felder, Zeichenketten Gliederung
Teil 5: Zeiger, Felder, Zeichenketten Gliederung Zeiger und Adressen Felder (Arrays) Zeichenketten (Strings) Zeigerarithmetik Mehrdimensionale Felder Zeiger und Adressen Felder Zeichenketten Zeigerarithmetik
MehrC für Java-Programmierer
Carsten Vogt C für Java-Programmierer ISBN-10: 3-446-40797-9 ISBN-13: 978-3-446-40797-8 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-40797-8 sowie im
MehrGrundlagen der Programmierung
Grundlagen der Programmierung Algorithmen und Datenstrukturen Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile direkt aus der Vorlesung
MehrArrays,Strings&Pointer in C/C++
Arrays,Strings&Pointer in C/C++ Vortrag Mathias Reich Am 21.5.2002 Pointer Da zur Zeit der Compelierung des Programms nicht immer der Umfang der zu bearbeitenden Daten feststeht muss man sich - in manchen
Mehr7. Organisation von Informationen
Computeranwendung in der Chemie Informatik für Chemiker(innen) 7. Organisation von Informationen Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL7 Folie 1 Grundlagen Programme
MehrAufgabe (Schreibtischtest, Algorithmenanalyse)
Aufgabe (Schreibtischtest, Algorithmenanalyse) Führen Sie einen Schreibtischtest für den Algorithmus Positionsort für das folgende Eingabe-Array durch. Geben Sie nach jedem Durchlauf der for-schleife mit
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine
MehrZeichenketten sind uns bisher nur als konstante Texte begegnet, welche in "" angegeben waren; z.b. als Formatstring in der printf()-funktion:
Zeichenketten (Strings) Seite 1 von 11 Zeichenketten(Strings) sind wichtige Bestandteile fast eines jeden Programms. Beispiele sind Eingabe von Namen oder Adressen, Ausgabe von Meldetexten oder Bearbeitung
MehrVerkettete Datenstrukturen: Bäume
Verkettete Datenstrukturen: Bäume 1 Graphen Gerichteter Graph: Menge von Knoten (= Elementen) + Menge von Kanten. Kante: Verbindung zwischen zwei Knoten k 1 k 2 = Paar von Knoten (k 1, k 2 ). Menge aller
MehrKapitel 7. Zusammengesetzte Datentypen, Vektoren, Zeichenketten
Kapitel 7 Zusammengesetzte Datentypen, Vektoren, Zeichenketten 1 Gliederung Kapitel 7 Zusammengesetzte Datentypen 7.1 Vektoren 7.2 Sortieren eines Vektors 7.3 Mehrdimensionale Felder 7.4 Umgang mit ein-/zweidimensionalen
MehrAdvanced Programming in C
Advanced Programming in C Pointer und Listen Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Oktober 2013 Überblick 1 Variablen vs. Pointer - Statischer und dynamischer
Mehr13. Bäume: effektives Suchen und Sortieren
Schwerpunkte Aufgabe und Vorteile von Bäumen 13. Bäume: effektives Suchen und Sortieren Java-Beispiele: Baum.java Traverse.java TraverseTest.java Sortieren mit Bäumen Ausgabealgorithmen: - Preorder - Postorder
MehrInhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15
Vorwort... 15 1 Einstieg in die Welt von C 17 1.1 Die Sprache C... 17 1.2 Die C-Standardbibliothek... 18 1.3 Die nötigen Werkzeuge für C... 21 1.4 Übersetzen mit der Entwicklungsumgebung... 23 1.5 Übersetzen
MehrInhalt. 4.5 Arbeit mit Zeigern (engl. Pointer)
Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Zeigern
MehrWiederholung. Bäume sind zyklenfrei. Rekursive Definition: Baum = Wurzelknoten + disjunkte Menge von Kindbäumen.
Wiederholung Baum: Gerichteter Graph, der die folgenden drei Bedingungen erfüllt: Es gibt einen Knoten, der nicht Endknoten einer Kante ist. (Dieser Knoten heißt Wurzel des Baums.) Jeder andere Knoten
MehrAlgorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 10. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Suchverfahren für große Datenmengen bisher betrachtete Datenstrukturen
MehrAlgorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 6. Vorlesung Martin Middendorf / Universität Leipzig Institut für Informatik middendorf@informatik.uni-leipzig.de studla@bioinf.uni-leipzig.de Merge-Sort Anwendbar für
MehrC- Kurs 09 Dynamische Datenstrukturen
C- Kurs 09 Dynamische Datenstrukturen Dipl.- Inf. Jörn Hoffmann jhoffmann@informaak.uni- leipzig.de Universität Leipzig InsAtut für InformaAk Technische InformaAk Flexible Datenstrukturen Institut für
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 10 (3.6.2014) Binäre Suchbäume I Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
MehrOrganisatorisches. Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Definition Datenstruktur. Nächste Woche keine Vorlesung!
Organisatorisches Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Nächste Woche keine Vorlesung! Es
MehrDatenbanken. Interne Datenorganisation:
Interne Datenorganisation: Bisher: Konzeptionelle Betrachtungen einer Datenbank aus Sicht der Anwendung: Modellierung, Normalisieren, Sprache zum Einfügen, Ändern, Löschen, Lesen Jetzt: Betrachtung der
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2016/17 13. Vorlesung Binäre Suchbäume Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Dynamische Menge verwaltet Elemente einer sich ändernden Menge
MehrWillkommen zur Vorlesung. Algorithmen und Datenstrukturen
Willkommen zur Vorlesung Algorithmen und Datenstrukturen Mein Name: Andreas Berndt Zum Dozenten Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen Derzeitige Sprachen:
MehrMehrwegbäume Motivation
Mehrwegbäume Motivation Wir haben gute Strukturen (AVL-Bäume) kennen gelernt, die die Anzahl der Operationen begrenzen Was ist, wenn der Baum zu groß für den Hauptspeicher ist? Externe Datenspeicherung
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative
MehrArrays (Felder/Vektoren)
Arrays (Felder/Vektoren) Zusammenfassung mehrerer Variablen des gleichen Typs unter einem Namen im Speicher direkt hintereinander abgelegt Definition: Typname Arrayname [Größe]; Beispiel: int ar [5]; Zugriff
MehrListen. Für die Verarbeitung von Listen durch den Rechner ist relevant:
Listen Für die Verarbeitung von Listen durch den Rechner ist relevant: Anzahl der Listenelemente - beim erstmaligen Erstellen der Liste bekannt/unbekannt - stabil vs. wechselhaft - Existenz eines Maximalwerts
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 9. Zeiger Arbeitsspeicher / Adressen Der Arbeitsspeicher des Computers (RAM) besteht aus einem Feld von Speicherzellen, beginnend bei Adresse
MehrVariablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes
Variablen Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes v ist Stück im Speicher, der 4 Bytes lang ist Speicherzugriff? Über Adressen!
MehrDynamisches Huffman-Verfahren
Dynamisches Huffman-Verfahren - Adaptive Huffman Coding - von Michael Brückner 1. Einleitung 2. Der Huffman-Algorithmus 3. Übergang zu einem dynamischen Verfahren 4. Der FGK-Algorithmus 5. Überblick über
Mehrf 1 (n) = log(n) + n 2 n 5 f 2 (n) = n 3 + n 2 f 3 (n) = log(n 2 ) f 4 (n) = n n f 5 (n) = (log(n)) 2
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Lösung - Präsenzübung.05.0 F. Corzilius, S. Schupp, T. Ströder Aufgabe (Asymptotische Komplexität): (6 + 0 + 6 = Punkte) a) Geben Sie eine formale
MehrAlgorithmen und Datenstrukturen I Bruder-Bäume
Algorithmen und Datenstrukturen I Bruder-Bäume Prof. Dr. Oliver Braun Letzte Änderung: 11.12.2017 10:50 Algorithmen und Datenstrukturen I, Bruder-Bäume 1/24 Definition ein binärer Baum heißt ein Bruder-Baum,
MehrDatenstrukturen. Dortmund, Oktober 1998
Datenstrukturen Dortmund, Oktober 1998 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX: (0231)755-4902 1 Inhalt Seite
MehrInhaltsverzeichnis. Vorwort.11
Inhaltsverzeichnis Vorwort.11 Kapitel 1 Einführung in die C-Programmierung 17 1.1 Ein erstes C-Programm 17 1.1.1 Analyse des Zinseszins-Programms 17 1.2 Compilieren und Ausführen eines Programms 24 1.3
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Wiederholung: Ziele der Vorlesung Wissen: Algorithmische
MehrDatenstrukturen und Algorithmen. 7. Suchen in linearen Feldern
Datenstrukturen und Algorithmen 7. Suchen in linearen Feldern VO 708.031 Suchen in linearen Feldern robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische
MehrZeichenketten (Strings)
Zeichenketten (Strings) Programme verarbeiten neben numerischen Daten oft auch Daten in Textform. Texte sind Zeichenketten, die auch als Strings bezeichnet werden In C gibt es keinen eigenständigen Datentyp
MehrTheoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke
Theoretische Informatik 1 WS 2007/2008 Prof. Dr. Rainer Lütticke Inhalt der Vorlesung Grundlagen - Mengen, Relationen, Abbildungen/Funktionen - Datenstrukturen - Aussagenlogik Automatentheorie Formale
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 11 (4.6.2014) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch sein
MehrPraxis der Programmierung
Dynamische Datentypen Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn Einige Folien gehen auf A. Terzibaschian zurück. 1 Dynamische Datentypen 2 Dynamische Datentypen
MehrKapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:
MehrProgrammiertechnik II
2007 Martin v. Löwis Priority Queues and Heapsort 2007 Martin v. Löwis 2 Priority Queue Abstrakter Datentyp Inhalt: Elemente mit Priorität Operationen: Einfügen: Angabe des Elements und seiner Priorität
MehrBäume. 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1
Bäume 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1 Inhalt Grundbegriffe: Baum, Binärbaum Binäre Suchbäume (Definition) Typische Aufgaben Suchaufwand Löschen allgemein, Methode Schlüsseltransfer
MehrAlgorithmen und Datenstrukturen (für ET/IT) Wiederholung: Ziele der Vorlesung. Wintersemester 2012/13. Dr. Tobias Lasser
Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Wiederholung: Ziele der Vorlesung Wissen: Algorithmische
MehrAlgorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 7. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@informatik.uni-leipzig.de aufbauend auf den Kursen der letzten Jahre von E. Rahm, G. Heyer,
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Binärbaum Suchbaum Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 356 Datenstruktur Binärbaum Strukturrepräsentation des mathematischen Konzepts Binärbaum
MehrTechnische Universität München. Vorlesungsgrobstruktur: wo stehen wir, wie geht s weiter
Vorlesungsgrobstruktur: wo stehen wir, wie geht s weiter Kapitel 7 Fortgeschrittene Datenstrukturen Motivation: Lineare Liste: Suchen eines Elements ist schnell O(log n) Einfügen eines Elements ist langsam
MehrDr. Monika Meiler. Inhalt
Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-4 5.1.3 Kopieren eindimensionaler Felder... 5-6
MehrArrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss
Arrays FTI 41 2005-09-09 Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss z.b. Dim Werte(x) As Single. Wobei
MehrGraphdurchmusterung, Breiten- und Tiefensuche
Prof. Thomas Richter 18. Mai 2017 Institut für Analysis und Numerik Otto-von-Guericke-Universität Magdeburg thomas.richter@ovgu.de Material zur Vorlesung Algorithmische Mathematik II am 18.05.2017 Graphdurchmusterung,
MehrTeil 1: Suchen. Ausgeglichene Bäume B-Bäume Digitale Suchbäume. M.O.Franz, Oktober 2007 Algorithmen und Datenstrukturen - Binärbäume 1-1
Teil : Suchen Problemstellung Elementare Suchverfahren Hashverfahren Binäre Suchbäume (Wiederholung aus Prog 2) Bäume: Begriffe, Eigenschaften und Traversierung Binäre Suchbäume Gefädelte Suchbäume Ausgeglichene
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO 708.031 Bäume robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische Grundprinzipien 3. Sortierverfahren 4. Halden
Mehreinlesen n > 0? Ausgabe Negative Zahl
1 Lösungen Kapitel 1 Aufgabe 1.1: Nassi-Shneiderman-Diagramm quadratzahlen Vervollständigen Sie das unten angegebene Nassi-Shneiderman-Diagramm für ein Programm, welches in einer (äußeren) Schleife Integer-Zahlen
MehrWiederholung. Datenstrukturen und. Bäume. Wiederholung. Suchen in linearen Feldern VO
Wiederholung Datenstrukturen und Algorithmen VO 708.031 Suchen in linearen Feldern Ohne Vorsortierung: Sequentielle Suche Speicherung nach Zugriffswahrscheinlichkeit Selbstanordnende Felder Mit Vorsortierung:
MehrEinführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)
Wintersemester 2005/06 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl
Mehr368 4 Algorithmen und Datenstrukturen
Kap04.fm Seite 368 Dienstag, 7. September 2010 1:51 13 368 4 Algorithmen und Datenstrukturen Java-Klassen Die ist die Klasse Object, ein Pfeil von Klasse A nach Klasse B bedeutet Bextends A, d.h. B ist
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr
MehrSortierverfahren für Felder (Listen)
Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es
MehrDr. Monika Meiler. Inhalt
Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-6 5.1.3 Kopieren eindimensionaler Felder... 5-7
MehrKap 7. Funktionen und Arrays
Kap 7. Funktionen und Arrays Elementare Algorithmen Allgemein Mathematik Text Eingabe ٧ Skalarprodukt wie Allgemein Ausgabe ٧ Länge ersetzen Summation Winkel Laenge Maximum ٧ Polynome berechnen ausschneiden
Mehr(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss.
(a, b)-bäume / 1. Szenario: Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss. Konsequenz: Kommunikation zwischen Hauptspeicher und Festplatte - geschieht nicht Byte für Byte,
MehrÜbung: Algorithmen und Datenstrukturen SS 2007
Übung: Algorithmen und Datenstrukturen SS 2007 Prof. Lengauer Sven Apel, Michael Claÿen, Christoph Zengler, Christof König Blatt 5 Votierung in der Woche vom 04.06.0708.06.07 Aufgabe 12 Manuelle Sortierung
MehrNAME, VORNAME: Studiennummer: Matrikel:
TU Ilmenau, Fakultat IA Institut für Theoretische Informatik FG Komplexitätstheorie und Effiziente Algorithmen Prof. Dr. (USA) M. Dietzfelbinger Klausur Algorithmen und Datenstrukturen SS08, Ing.-Inf.
MehrM. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung
M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales
MehrInhaltsverzeichnis. Teil 1 Grundlagen 21. Teil 2 Datenstrukturen 85
Inhaltsverzeichnis Vorwort 13 Umfang 14 Einsatz als Unterrichtsmittel 14 Algorithmen mit Praxisbezug 15 Programmiersprache 16 Danksagung 17 Vorwort des Java-Beraters 18 Hinweise zu den Übungen 19 Teil
MehrSchwerpunkte. Verkettete Listen. Verkettete Listen: 7. Verkettete Strukturen: Listen. Überblick und Grundprinzip. Vergleich: Arrays verkettete Listen
Schwerpunkte 7. Verkettete Strukturen: Listen Java-Beispiele: IntList.java List.java Stack1.java Vergleich: Arrays verkettete Listen Listenarten Implementation: - Pascal (C, C++): über Datenstrukturen
MehrADS: Algorithmen und Datenstrukturen
ADS: Algorithmen und Datenstrukturen Teil VII Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 08.
MehrAlgorithmen und Datenstrukturen
Universität Innsbruck Institut für Informatik Zweite Prüfung 16. Oktober 2008 Algorithmen und Datenstrukturen Name: Matrikelnr: Die Prüfung besteht aus 8 Aufgaben. Die verfügbaren Punkte für jede Aufgabe
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
MehrBeispiele elementarer Datentypen Ganze Zahlen (integer) Unterbereiche Gleitkommazahlen Festkommazahlen
Beispiele elementarer Datentypen Ganze Zahlen (integer) - Werte sind ganze Zahlen in vorgegebenen Bereich (z. B. -2 31 bis 2 31-1) - Übliche Operationen: Arithmetik (z. B. +,-,*, Division mit Rest, Rest
MehrEine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder
Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element
MehrEinführung in die Programmierung für Physiker. Die Programmiersprache C Strukturen ("struct...")
Einführung in die Programmierung für Physiker Die Programmiersprache C Strukturen ("struct...") Marc Wagner Institut für theoretische Physik Johann Wolfgang Goethe-Universität Frankfurt am Main WS 2013/14
MehrC# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue
C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections Leibniz Universität IT Services Anja Aue Arrays... speichern mehrere Werte vom gleichen Datentyp. fassen zusammenhängende Werte
MehrDatenstrukturen. einfach verkettete Liste
einfach verkettete Liste speichert Daten in einer linearen Liste, in der jedes Element auf das nächste Element zeigt Jeder Knoten der Liste enthält beliebige Daten und einen Zeiger auf den nächsten Knoten
MehrProseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...)
Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...) Inhalt: Einleitung, Begriffe Baumtypen und deren Kodierung Binäre Bäume Mehrwegbäume Prüfer
MehrInhaltsverzeichnis. Teil 1 Grundlagen 23
Inhaltsverzeichnis Vorwort 11 Umfang 12 Einsatz als Unterrichtsmittel 12 Algorithmen mit Praxisbezug 13 Programmiersprache 14 Danksagung 15 Vorwort des C++-Beraters 16 Hinweise zu den Übungen 21 Teil 1
MehrWiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen
Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter
MehrHeapsort / 1 A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8]
Heapsort / 1 Heap: Ein Array heißt Heap, falls A [i] A [2i] und A[i] A [2i + 1] (für 2i n bzw. 2i + 1 n) gilt. Beispiel: A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] Heapsort / 2 Darstellung eines Heaps als
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 18. März
Mehrt-äre Bäume können - wie Binärbäume - degenerieren, d.h. durch ungünstige Einfügereihenfolge kann ein unausgewogener Baum mit großer Höhe entstehen.
.3 B-Bäume t-äre Bäume können - wie Binärbäume - degenerieren, d.h. durch ungünstige Einfügereihenfolge kann ein unausgewogener Baum mit großer Höhe entstehen. Wird der t-äre Baum zur Verwaltung von Daten
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 10 (27.5.2016) Binäre Suchbäume II Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
MehrAlgorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 8. Vorlesung Martin Middendorf und Peter F. Stadler Universität Leipzig Institut für Informatik middendorf@informatik.uni-leipzig.de studla@bioinf.uni-leipzig.de Gefädelte
Mehr8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.
8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.
MehrDatei: svn/ckurs/trunk/c_texte/c_arrptr.txt, Datum: 30. Juni Felder und Zeiger
Datei: svn/ckurs/trunk/c_texte/c_arrptr.txt, Datum: 30. Juni 2015 Felder und Zeiger 1. Felder 1. Felder werden deklariert und definiert durch die Angabe der Elementanzahl nach dem Feldnamen mit dem Feldoperator
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen 3.2 Auswahl an Stringfunktionen W. Tasin, M.Sc. Fakultät 04 tasin@hm.edu Allgemeines (1) Die ANSI-Norm definiert auch nützliche Funktionen zur ASCIIZ-Stringbearbeitung.
Mehr6. Zeiger Allgemeines Definition eines Zeigers
6. Zeiger www.c-programme.de Stefan Thiemert Kapitel 6 - Seite 1 von 6 6. 1. Allgemeines Zeiger spielen in der Programmierung eine wichtige Rolle. Sie sind wichtig, bei der Arbeit mit Arrays und Funktionen.
MehrBäume. Text. Prof. Dr. Margarita Esponda SS 2012 O4 O5 O6 O ALP2-Vorlesung, M. Esponda
Bäume O1 O2 Text O3 O4 O5 O6 O7 Prof. Dr. Margarita Esponda SS 2012 22. ALP2-Vorlesung, M. Esponda Inhalt 1. Einführung 2. Warum Bäume? 3. Listen und Arrays vs. Bäume 4. Einfach verkettete binäre Suchbäume
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO INF.02031UF (2-4)-Bäume robert.legenstein@igi.tugraz.at 1 7. Bäume Bäume als Datenstruktur Binärbäume Balancierte Bäume (2-4)-Bäume Anwendung: Mischbare Warteschlangen
MehrÜbungspaket 23 Mehrdimensionale Arrays
Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:
MehrÜbersicht. Datenstrukturen und Algorithmen. Übersicht. Heaps. Vorlesung 8: Heapsort (K6) Joost-Pieter Katoen. 7. Mai 2015
Datenstrukturen und Algorithmen Vorlesung 8: (K6) 1 Joost-Pieter Katoen Lehrstuhl für Informatik Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/ 7. Mai 015 3 Joost-Pieter
Mehr