Slide 1

Documente similare
Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx

Object Oriented Programming

Microsoft PowerPoint - Curs_SDA_10_RO_2019_v1.pptx

Microsoft PowerPoint - Curs_SDA_4_RO_2019_v2.pptx

Microsoft Word - CarteC.doc

Metode de programare Proiectarea algoritmilor

proiectarea bazelor de date

1 Lucrarea nr. 8 - Structuri de date de tip liste sortate O listă sortată reprezintă un aranjament al înregistrărilor din cadrul listei în funcţie de

Lecții de pregă,re la informa,că Admitere 2019 Tema: Discutarea problemelor date la ul,mele sesiuni de admitere Bogdan Alexe

Limbaje de Programare Curs 5 – Siruri de caractere

Slide 1

1

Diapositive 1

Microsoft PowerPoint - ImplementareLimbaj [Read-Only] [Compatibility Mode]

Limbaje de Programare Curs 6 – Functii de intrare-iesire

Slide 1

Analiză de flux de date 29 octombrie 2012

Tablouri (continuare)

Laborator 2 Incompatibilităţi/Diferenţe între C şi C++ Completări C++ Supraîncărcarea (redefinirea) numelui de funcţii În C nu este permisă existenţa

Facultatea de Matematica si Informatica Universitatea din Bucuresti Structuri liniare Liste. Stive. Cozi - Inserare, cautare, stergere - Lectii de pre

Slide 1

Caraivan George-Alexandru Grupa 431A Interfața driver-kernel la Linux Introducere Deși pentru unii dintre noi acest lucru poate fi o supriză, cei mai

L7

Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011

Analiză statică Analiza fluxului de date 23 octombrie 2014

Adresarea memoriei Modurile de adresare constituie un instrument principal pentru reprezentarea în memorie a imaginii datelor, aşa cum este ace

Slide 1

Logică și structuri discrete Limbaje regulate și automate Marius Minea marius/curs/lsd/ 24 noiembrie 2014

Tipuri de date abstracte 30 noiembrie 2005 Programarea calculatoarelor 2. Curs 9 Marius Minea

C++ Probleme

LUCRAREA NR

Limbaje de programare Pointeri. Alocare dinamică (continuare) 26 noiembrie 2012

PHP (II)

E_d_Informatica_sp_SN_2014_bar_10_LRO

LUMINIŢA SCRIPCARIU

Microsoft Word - PCLP2_Curs_4_2019.doc

Matrici și vectori în VBA În VBA, o matrice este un grup de variabile de același tip. De ce ar trebui să utilizați o matrice? Presupunem că ați vrut s

Grafuri neorinetate Aplicatii 1 Care este numărul maxim de componente conexe pe care le poate avea un graf neorientat cu 20 noduri şi 12 muchii? a. 6

1. Găsiți k numerele cele mai apropiate într-un şir nesortat Dându-se un şir nesortat și două numere x și k, găsiți k cele mai apropiate valori de x.

SUBPROGRAME

Microsoft Word - _arbori.docx

PowerPoint-Präsentation

Laborator 2 - Încapsularea Programare Orientată pe Obiecte Tema 2.1 Să se analizeze programul EX2.C Indicatii 2.1 A nu se uita de fisierul EX2.H Tema

Lucrarea nr. 9 - Liste dublu înlănţuite Breviar teoretic În cadrul elementelor studiate anterior s-a putut observa utilitatea listelor simplu înlănuit

Microsoft Word - 2 ES RO.doc

Baze de date

Programarea şi utilizarea calculatoarelor

Paradigme de Programare

Microsoft Word - CarteC.doc

Metode de sortare - pregătire admitere - Conf.dr. Alexandru Popa Lect. dr. Andrei Pătraşcu Universitatea din Bucureşti 1

Tablouri unidimensionale Problema 1 Să se determine mulţimea cifrelor unui număr natural n > 0, dat. Exemplu: n= Cifre = {1,2,3,7} Se cere să s

Algoritmi elementari Metode de căutare secvenţială binară Metode de ordonare metoda bulelor metoda inserţiei metoda selecţiei metoda numărării Intercl

Slide 1

Capitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursu

Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati de reprezentare

Microsoft PowerPoint - ARI_R_c9-10_IP_part2 [Compatibility Mode]

Top

E_d_Informatica_sp_MI_2015_bar_02_LRO

Aggregating Data

Aplicatii pentru MySql si ACCESS Realizati un proiect in MySql si Acces pentru una din problemele urmatoare (la alegere). Proiectul va contine capturi

Proiectarea Sistemelor Software Complexe

PAS cap. 2: Reprezentări rare p. 1/35 Prelucrarea avansată a semnalelor Capitolul 2: Reprezentări rare Bogdan Dumitrescu Facultatea de Automatică şi C

Sistem de rutare între VLAN-uri bazat pe LISA

-

Logică și structuri discrete Logică propozițională Marius Minea marius/curs/lsd/ 3 noiembrie 2014

MyBRD Net Ghid practic de utilizare a Dispozitivului token

2

Prezentarea calculatorului

Slide 1

09. Informatica 2 - MM 1

Structuri de date pentru partiţii de mulţimi O partiţie finită a unei mulţimi nevide S este o mulţime finită de submulţimi ale lui S: {S 1, S 2,..., S

Grile si probleme siruri de caractere in C++ ŞIRURI DE CARACTERE Itemii următori sunt preluaţi din variantele de bacalaureat În secvenţa de i

Programarea şi utilizarea calculatoarelor

Slide 1

Microsoft Word - cap1p4.doc

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

PowerPoint Presentation

Probleme rezolvate informatica: Probleme rezolvate grafuri si a

Poo Laboratoare 1 Contents Laborator7 2 1 Colecţii de obiecte în Java Interfaţa Iterator Interfaţa C

Microsoft PowerPoint - Curs_SDA_3_RO_2019_v2.pptx

Addendum Syllabus 6 Microsoft Access 2016 REF Syllabus 6.0 Cunoașterea domeniilor în care se utilizează bazele de date Datorită potenţialului ma

PowerPoint Presentation

Laborator 2-3 Utilizarea programului de simulare electromagnetică EmPro Continuare În lucrarea de laborator se va investiga o linie de transmisie micr

Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiil

MINISTERUL EDUCAŢIEI, CULTURII ŞI CERCETĂRII AL REPUBLICII MOLDOVA UNIVERSITATEA DE STAT ALECU RUSSO DIN BĂLŢI FACULTATEA DE ŞTIINŢE REALE, ECONOMICE

Kein Folientitel

PowerPoint Presentation

Microsoft Word - lab_access.doc

Microsoft Word - Software pentru ordonarea multirang a componentelor unei colectivitati.doc

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare

ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine număru

Procesarea Imaginilor - Laborator 1: Introducere în utilizarea bibliotecii OpenCV 1 1. Introducere în utilizarea bibliotecii OpenCV 1.1. Introducere S

GHERCĂ MAGDA CASA CORPULUI DIDACTIC BRĂILA PORTOFOLIU EVALUARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A Neamț SERIA 1 GRUPA 1 CURSANT: GHERCĂ G

Limbaje de Programare Curs 8 – Fisiere

Curs 6 Gestiunea memoriei in C++ Alocare dinamica. Destructor. RAII. Rule of three. Tratarea excepțiilor exception safe code Moștenire Curs 5 Template

1

Laborator02

Transcriere:

STRUCTURI DE DATE Lista simpla Lista dubla

LISTA LINIARA Lista liniara: Colectie de elemente denumite noduri; Relatie de ordine rezultata din pozitia nodurilor; Elemente de acelasi tip structura omogena; Lungimea listei numarul de noduri; Asemanatoare structurii de tip masiv unidimensional; Structura alocata in heap gestionata prin variabila pointer. 2

LISTA LINIARA Lista liniara vs. Vector: Lista liniara Numar variabil de elemente, fara declararea anticipata a dimensiunii Elemente alocate la adrese nu neaparat consecutive Alocare memorie la executie Referire secventiala a nodurilor pornind de la adresa primului nod Vector Numar predeterminat de elemente, cu rezervarea de memorie pe dimensiunea declarata Spatiu contiguu de memorie (elementele sunt adiacente logic si fizic) Alocare memorie la compilare/executie Referire prin deplasament al elementului fata de adresa de inceput a zonei 3

LISTA LINIARA Implementare: Utilizare variabile pointer; Nodurile contin doua categorii de informatii: - Campuri cu informatia structurala; - Campuri cu informatia de legatura adrese ale altor noduri din cadrul listei 4

Lista simpla: Lista liniara; Un singur camp cu informatia de legatura nodul succesor al campului curent; Ultimul nod nu are succesor informatia de legatura este nula (NULL sau 0); Gestionata prin variabila pointer cu adresa primului nod din lista liniara. 5

INFO NEXT NULL Definirea structurii unui nod dintr-o lista simpla: struct Nod{ char inf; Nod *next; }; 6

Declararea unei liste simple vide: Nod *prim = NULL; Alocarea de memorie heap pentru un nod al liste simple: Nod *nou = new Nod; Dezalocarea de memorie heap pentru un nod al liste simple: delete nou; 7

Initializarea si referirea informatiei utile dintrun nod al listei simple: nou->inf = 'A'; Initializarea si referirea informatiei de legatura dintr-un nod al listei simple: nou->next = NULL; 8

Operatii cu liste simple: Creare listei; Inserare nod; Traversare; Cautare; Interschimbare noduri; Stergere nod; Stergerea listei; Sortarea listei; Concatenarea de liste; Interclasare liste. 9

Creare listei Nod *prim = 0; stud.id = atoi(token); // 43 stud.nume = (char*)malloc((strlen(token) + 1) * sizeof(char)); strcpy(stud.nume, token); // Vasilescu Mihai stud.medie = atof(token); // 8.45 10

Nod* nou; nou = (Nod*)malloc(1 * sizeof(nod)); 11

nou->st = stud; nou->next = prim; 12

prim = inserarelista(prim, stud); 13

stud.id = atoi(token); // 12 stud.nume = (char*)malloc((strlen(token) + 1) * sizeof(char)); strcpy(stud.nume, token); // Ionescu George stud.medie = atof(token); // 7.64 14

Nod* nou; nou = (Nod*)malloc(1 * sizeof(nod)); 15

nou->st = stud; nou->next = prim; 16

prim = inserarelista(prim, stud); 17

stud.id = atoi(token); // 374 stud.nume = (char*)malloc((strlen(token) + 1) * sizeof(char)); strcpy(stud.nume, token); // Popescu Gigel stud.medie = atof(token); // 9.33 18

Nod* nou; nou = (Nod*)malloc(1 * sizeof(nod)); 19

nou->st = s; nou->next = p; 20

prim = inserarelista(prim, stud); 21

LISTA DUBLA Lista dubla: Lista liniara; Doua campuri cu informatii de legatura nodurile succesor, respectiv predecesor ale campului curent; Ultimul nod nu are succesor informatia de legatura este nula (NULL sau 0); Primul nod nu are predecesor - informatia de legatura este nula (NULL sau 0); 22

LISTA DUBLA Lista dubla (continuare): Gestionata prin variabile pointer: una retine adresa primului nod din lista liniara, iar cealalta retine adresa ultimului nod din lista liniara; Posibilitatea gestionarii structurii printr-o structura articol ce incapsuleaza cei doi pointeri. 23

LISTA DUBLA NULL PREV INFO NEXT NULL Definirea structurii unui nod dintr-o lista dubla: struct NodD{ char inf; NodD *prev, *next; }; 24

LISTA DUBLA Incapsularea adreselor primului si ultimului nod ale unei liste duble vide: struct ListaD{ NodD *prim, *ultim; }; Declararea unei liste duble vide: ListaD lst; lst.prim = NULL; lst.ultim = NULL; Alocarea de memorie heap pentru un nod al liste duble: NodD *Nou = new NodD; 25

LISTA DUBLA Dezalocarea de memorie heap pentru un nod al liste duble: delete Nou; Initializarea si referirea informatiei utile dintrun nod al listei duble: Nou->inf = 'Z'; Initializarea si referirea informatiilor de legatura dintr-un nod al listei duble: Nou->next = NULL; Nou->prev = NULL; 26

LISTA DUBLA Referirea informatiilor din primul nod al listei duble: lst.prim->inf; lst.prim->next; lst.prim->prev; Referirea informatiilor din ultimul nod al listei duble: lst.ultim->inf; lst.ultim->next; lst.ultim->prev; 27

LISTA DUBLA Operatii cu liste duble similare operatiilor cu liste simple 28