Algoritmi pentru regăsirea informaţiei

Similar documents
ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; }

APLICAŢII ELEMENTARE CU ARBORI

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

Metrici LPR interfatare cu Barix Barionet 50 -

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

Procesarea Imaginilor

Versionare - GIT ALIN ZAMFIROIU

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

Metode de acces la informatie în bazele de date pentru prelucrari grafice

Grafuri bipartite. Lecție de probă, informatică clasa a XI-a. Mihai Bărbulescu Facultatea de Automatică și Calculatoare, UPB

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

Subiecte Clasa a VI-a

Structuri de date: ARBORI

Mecanismul de decontare a cererilor de plata

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm

HEAPSORT I. CONSIDERAŢII TEORETICE

Olimpiad«Estonia, 2003

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

Propuneri pentru teme de licență

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A.

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

GHID DE TERMENI MEDIA

Auditul financiar la IMM-uri: de la limitare la oportunitate

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: "9",

Nume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final

Update firmware aparat foto

VIRTUAL INSTRUMENTATION IN THE DRIVE SUBSYSTEM MONITORING OF A MOBIL ROBOT WITH GESTURE COMMANDS

Mircea Merca 1) Articol dedicat Prof. Dr. Ioan Tomescu la a 70-a aniversare

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET

APLICAŢIE INFORMATICĂ PENTRU PREGĂTIREA MISIUNILOR DE NIVEL TACTIC

Managementul referinţelor cu

Itemi Sisteme de Operare

Class D Power Amplifiers

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

Vizualizarea documentelor xml

O ALTERNATIVĂ MODERNĂ DE ÎNVĂŢARE

Modalitǎţi de clasificare a datelor cantitative

Printesa fluture. Мобильный портал WAP версия: wap.altmaster.ru

Capitolul IV Utilizarea bazelor de date în Internet

CERERI SELECT PE O TABELA

Metoda de programare BACKTRACKING

Baze de date distribuite și mobile

Lucrarea de laborator nr. 4

CHAMPIONS LEAGUE 2017 SPONSOR:

Baza de date: tabele, date. Componentele unei B.D.: tabele, constrangeri, relatii. Entitati ale unei B.D.: formulare, interogari, rapoarte

Dispozitive Electronice şi Electronică Analogică Suport curs 02 Metode de analiză a circuitelor electrice. Divizoare rezistive.

Internet-ul a apărut în 1960 când, în SUA, Ministerul Apărării a creat Agenţia pentru proiecte de Cercetare Avansată (ARPA), care are ca obiectiv

The First TST for the JBMO Satu Mare, April 6, 2018

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip

MANAGEMENTUL CALITĂȚII - MC. Proiect 5 Procedura documentată pentru procesul ales

Candlesticks. 14 Martie Lector : Alexandru Preda, CFTe

LIDER ÎN AMBALAJE EXPERT ÎN SISTEMUL BRAILLE

Documentaţie Tehnică

SAG MITTIGATION TECHNICS USING DSTATCOMS

Ce pot face pe hi5? Organizare si facilitati. Pagina de Home

Buletinul AGIR nr. 3/2012 iunie-august. Assis. Eng. Ciprian AFANASOV PhD. University "Ştefan cel Mare" Suceava

Realizarea paginilor WEB

USING SERIAL INDUSTRIAL ROBOTS IN CNC MILLING PROCESESS

INTEROGĂRI ÎN SQL SERVER

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.

Baze de date în Visual Fox Pro. Stabilirea relațiilor dintre tabele în cadrul bazei de date. Filtrarea, sortarea, indexarea, căutarea înregistrărilor.

Proiectarea Sistemelor Software Complexe

X-Fit S Manual de utilizare

Prelucrarea numerică a semnalelor

Ghid de pregătire pentru certificarea IC3 Global Standard 4

ISBN-13:

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Ghid pentru configurarea şi utilizarea aplicaţiei clicksign Demo

STARS! Students acting to reduce speed Final report

Calculatoare Numerice II Interfaţarea unui dispozitiv de teleghidare radio cu portul paralel (MGSH Machine Guidance SHell) -proiect-

CERERI SELECT PE MAI MULTE TABELE

BAZE DE DATE Crearea, gestionarea şi exploatarea bazelor de date spaţiale

ARHITECTURA SISTEMELOR DE CALCUL ŞI SISTEME DE OPERARE. LUCRĂRILE DE LABORATOR Nr. 6, 7 şi 8 REPREZENTAREA INFORMAŢIILOR NUMERICE ÎNTREGI ŞI REALE.

2. Setări configurare acces la o cameră web conectată într-un echipament HG8121H cu funcție activă de router

Lucrarea Nr.1. Sisteme de operare. Generalitati

MICROSOFT ACCESS 2007 (DE CĂUTAT???)

MODELUL UNUI COMUTATOR STATIC DE SURSE DE ENERGIE ELECTRICĂ FĂRĂ ÎNTRERUPEREA ALIMENTĂRII SARCINII

Capitolul IF.02. Structurarea bazelor de date

INSTRUMENTE DE MARKETING ÎN PRACTICĂ:

Utilizarea noilor formulare Google 2016 în educație

Prof.univ.dr. Zenovic GHERASIM

TIME COMPASS: O APLICAȚIE DE TIME MANAGEMENT PENTRU ANDROID

Metoda BACKTRACKING. prof. Jiduc Gabriel

FIȘA DISCIPLINEI Total ore pe semestru Număr de credite 6

Manual Limba Romana Clasa 5 Editura Humanitas File Type

1 Vasile Violeta Ion Popescu Avram Maria Câmpuri în tabel

SISTEME INFORMATICE SI INTELIGENTA ARTIFICIALA IN ECONOMIE

PROCEDURA PRIVIND DECONTURILE. 2. Domeniu de aplicare Procedura se aplică în cadrul Universităţii Tehnice Cluj-Napoca

ACTA TECHNICA NAPOCENSIS

2. Tipul referinţă, structuri de date dinamice ( liste înlănţuite şi arbori binari).

Proiectarea unui sistem informatic de evaluare în contextul implementării procesului de e-learning în învăţământul superior

Universitatea George Bariţiu, Braşov

Cuprins Neculoiu Paul

ANTICOLLISION ALGORITHM FOR V2V AUTONOMUOS AGRICULTURAL MACHINES ALGORITM ANTICOLIZIUNE PENTRU MASINI AGRICOLE AUTONOME TIP V2V (VEHICLE-TO-VEHICLE)

Transcription:

Algoritmi pentru regăsirea informaţiei Costel Cătălin Gărgăun Colegiul Henri Coandă Bacău, catalin_costel@yahoo.com Ana Nicoleta Grigoreanu Colegiul Henri Coandă Bacău, ananicoleta2002@yahoo.com Abstract Într-o definire - pe cât de sumară tot pe atât de informală - se poate spune că informația se constituie intr-o reprezentare a realității, dar și a reflecției și proiecției - care sunt operații tipice intelectului uman - prin intermediul unui set bine precizat și structurat de simboluri - de regulă accesibile simțurilor și rațiunii umane, dar și unora dintre dispozitive, precum cele de calcul automat (calculatoare). Informatia nu este nici conținut (stările unui sistem pot fi asimilate cu acesta), nici agent (semnalele transmise printr-un canal pot fi asimilate cu acesta), nici proprietate, nici instructiune, nici proces și nici metodă, ci informația se constituie într-o categorie de sine stătătoare, având o existență abstractă și subtilă - adică nematerială - categorie care este reflectată de stări, semnale și constituie un element esențial în procesul cunoașterii. 1. Introducere Odată cu introducerea tehnologiei informatice în cât mai multe domenii a intervenit şi problema organizării lor sub formă de structuri de date. Definirea structurilor de date necesare într-o aplicaţie este o activitate complexă care condiţionează în mare măsură necesarul de memorie, precum şi viteza de prelucrare şi uneori chiar efortul de proiectare şi implementare. Pentru realizarea ei trebuie să se ţină cont de o serie de factori cum ar fi: volumul datelor; operaţiile de prelucrare, mai ales cele de actualizare; durata de viaţă, utilizarea eficientă a spaţiului de memorare; complexitatea prelucrării asupra colecţiei; asigurarea integrităţii datelor. O altă problemă importantă este căutarea unor date în structurile create. Cu cât cantitatea de informaţie creşte cu atât trebuie algoritmi din ce în ce mai eficienţi, care să găsescă informaţia în cât mai scurt timp. 2. Introducere în teoria grafurilor În general, pentru situaţiile care necesită la rezolvare un oarecare efort mintal se caută, în primul rând, o metodă de reprezentare a lor care să permită receptarea întregii probleme dintr-o privire (pe cât posibil) şi prin care să se evidenţieze cât mai clar toate aspectele acesteia. În acest scop se folosesc imagini grafice gen diagrame, schiţe, grafice etc. O reprezentare dintre cele mai utilizate este cea prin grafuri. Acestea sunt utilizate în special pentru vizualizarea sistemelor şi situaţiilor complexe. În general, vom reprezenta componentele acestora prin puncte în plan iar relaţiile dintre componente prin arce de curbă cu extremităţile în punctele corespunzătoare. Este evident, totuşi, că această metodă are limite, atât din punct de vedere uman (prea multe puncte şi segmente vor face desenul atât de complicat încât se va pierde chiar scopul pentru care a fost creat claritatea şi simplitatea reprezentării, aceasta devenind neinteligibilă) cât şi din punct de vedere al tehnicii de calcul (un calculator nu poate "privi" un desen ca un om). Din acest motiv, alături de expunerea naiv-intuitivă a ceea ce este un graf, dată mai sus, se impune atât o definiţie riguroasă cât şi alte modalităţi de reprezentare a acestora, adecvate în general rezolvărilor matematice şi informatice.

Conferinţa Naţională de Învăţământ Virtual, ediţia a IX-a, 2011 69 3. Arbori Un graf conex şi fără cicluri se numeşte arbore. Un arbore are următoarele proprietăţi: Există un nod în care nu intră niciun arc, numit rădăcina arborelui. Cu excepţia rădăcinii, fiecare nod are proprietatea că în el intră un singur arc. Acesta leagă nodul respectiv de un alt nod numit predecesor sau părinte. Dintr-un nod pot ieşi unul sau mai multe arce. Fiecare astfel de arc, leagă nodul respectiv de un alt nod numit succesor sau fiu al nodului. Nodurile sunt organizate pe nivele, primul nivel fiind ocupat de nodul-rădăcină. Nodurile de pe ultimul nivel se caracterizează prin faptul că din ele nu mai iese nici un arc, şi se numesc noduri terminale sau frunze. Frunzele pot exista şi pe nivele diferite de ultimul nivel. Nodurile pot conţine o aşa-numită informaţie utilă, care poate fi de orice tip. De obicei eceste informaţii se mai numesc şi chei ale arborelui. 3.1. Arbori binari de căutare Un arbore cu proprietatea că fiecare nod, cu excepţia frunzelor, are cel mult doi descendenţi (succesori) se numeşte arbore binar. Arborii de căutare sunt structuri de date ce posedă multe operaţii specifice mulţimilor dinamice, între care menţionăm CAUTĂ, MINIM, MAXIM, PREDECESOR, SUCCESOR, INSEREAZĂ şi ŞTERGE. Figura 1. Un arbore binar de căutare cu 6 noduri şi de înălţime 2 şi un arbore binar de căutare mai puţin eficient care conţine aceleaşi chei şi are înălţimea 4

70 Universitatea din Bucureşti şi Universitatea Babeş-Bolyai din Cluj-Napoca Proprietatea arborelui binar de căutare ne permite să tipărim toate cheile în ordine crescătoare cu ajutorul unui algoritm recursiv simplu, numit traversarea arborelui în inordine (S-R-D, stânga - rădăcină - dreapta). Numele acestui algoritm derivă din faptul că cheia rădăcinii unui subarbore se tipăreşte între valorile din subarborele stâng şi cele din subarborele său drept. Similar, o traversare a arborelui în preordine (R-S-D) va tipări cheia rădăcinii înaintea cheilor din subarbori, iar o traversare în postordine (S-D-R) va tipări cheia rădăcinii după cheile din subarbori. Figura 2. Parcurgerile unui arbore binar 3.2. Arbori roşu-negru Un arbore roşu-negru este un arbore binar de căutare care are un bit suplimentar pentru memorarea fiecărui nod: culoarea acestuia poate fi ROŞU sau NEGRU. Un arbore binar de căutare este arbore roşu-negru dacă el îndeplineşte următoarele proprietăţi roşu-negru: Fiecare nod este fie roşu, fie negru. Fiecare frunză (NULL) este neagră. Dacă un nod este roşu, atunci ambii fii ai săi sunt negri. Fiecare drum simplu de la un nod la un descendent care este frunză conţine acelaşi număr de noduri negre. Figura 3. Arbore roşu negru [6]

Conferinţa Naţională de Învăţământ Virtual, ediţia a IX-a, 2011 71 Executând pe arbori roşu-negru având n chei operaţiile definite pe arbori de căutare ARBORE- INSEREAZĂ şi ARBORE-ŞTERGE, se poate întâmpla ca rezultatul efectuării lor să încalce proprietăţile roşu-negru enumerate. Pentru a reface aceste proprietăţi, atât culorile unora dintre nodurile arborelui cât şi structura pointerilor trebuie modificate. Structura pointerilor se modifică prin rotaţie, operaţie locală într-un arbore de căutare ce conservă ordonarea cheilor în inordine. Figura 4. Rotaţii la stânga şi Rotaţii la dreapta 3.3. Arbori AVL echilibraţi (G. M. Adelson-Velskii şi E. M. Landis) Un arbore binar se numeşte echilibrat (AVL) dacă înălţimea sub-arborelui din stînga fiecărui nod nu diferă cu mai mult de ± 1 de înălţinea subarborelui său din dreapta.

72 Universitatea din Bucureşti şi Universitatea Babeş-Bolyai din Cluj-Napoca Figura 5. Rotaţii la stânga şi Rotaţii la dreapta [1] 4. Algoritmul de căutare binară Vom presupune că în memoria calculatorului au fost stocate un număr de n înregistrări şi că dorim să localizăm o anumită înregistrare. Presupunem că fiecare înregistrare conţine un câmp special, numit cheie. Colecţia tuturor înregistrărilor se numeşte tabel sau fişier. Un grup mai mare de fişiere poartă numele de bază de date. În cazul unui algoritm de căutare se consideră un anumit argument K; iar problema este de a căuta acea înregistrare a cărei cheie este tocmai K. Sunt posibile două cazuri: căutarea cu succes (reuşită), cand înregistrarea cu cheia avută în vedere este depistată, sau căutarea fără succes (nereuşită), când cheia niciunei înregistrări nu coincide cu cheia după care se face căutarea. 5. Căutarea şi regăsirea informaţiei 5.1. Căutarea în fișiere și baze de date În fișiere, localizarea se face folosind instrumente puse la dispoziție de programul de aplicație cu care a fost creat fișierul. De exemplu, în foile de calcul se poate localiza informația folosind un filtru (meniul Data opțiunea Filter), iar în documentele create cu aplicația Microsoft Word se poate folosi caseta de dialog Find and Replace deschisă din meniul Edit-opțiunea Find. Sistemul de gestiune a bazelor de date furnizează 2 mecanisme importante pentru localizarea informațiilor în baza de date: Interogarea pe baza unui criteriu de căutare furnizat de utilizator, caută și găsește toate înregistrările care corespund criteriului specificat. Filtrul - pe baza unui criteriu de filtrare precizat de utilizator extrage din baza de date doar înregistrările care corespund criteriului specificat 5.2. Tehnici de căutare a informației pe Internet Serviciul de navigare Browserul permite regăsirea informațiilor prin 2 metode: După adresa URL a paginii web care conține informația. Prin urmărirea hiperlegăturilor din documente care conțin referințe către alte pagini.

Conferinţa Naţională de Învăţământ Virtual, ediţia a IX-a, 2011 73 În plus, utilizatorul mai este ajutat de următoarele mecanisme: Mecanismul semnelorde carte sau al favoritelor îi permite utilizatorului să întrețină o listă cu adresele favorite. Mecanismul istoricului browserul întreține o listă cu paginile web vizitate recent. Motoare de căutare Un motor de căutare este un program care accesează Internetul în mod automat şi frecvent şi care stochează titlul, cuvinte cheie şi parţial chiar conţinutul paginilor web într-o bază de date. În momentul în care un utilizator apelează la un motor de căutare pentru a găsi o anumită frază sau cuvânt, motorul de căutare se va uita în această bază de date şi în funcţie de anumite criterii de prioritate va crea şi afişa o listă de rezultate. Ele au un principiu de funcționare foarte simplu, bazându-se pe folosirea unui program special numit "crawler robot" (robot târâtor), care vizitează periodic paginile web de pe întreg internetul și culege din fiecare pagină web vizitată niște date, pe care le stochează în baza de date a motorului de căutare. Acest proces se numește indexarea paginilor web. Atunci când un utilizator caută paginile web care conțin un anumit cuvânt (sau o anumită sintagmă), motorul de căutare apelează la baza sa de date și alcătuiește o listă ordonată,cu paginile web respective. Alcătuirea listei de pagini care conțin o anumită sintagmă este un proces foarte complex, pentru că el implică sortarea paginilor după relevanța lor. Pentru a stabili ordinea de afișare, serviciul acordă fiecărei pagini găsite un anumit punctaj. În general, în atribuirea punctajului se ține cont: De câte ori apare cuvântul în pagină Poziția ocupată de cuvânt în pagină Câte cuvinte are pagina Dacă apare cuvântul în titlu Popularitatea site-ului (numărul de pagini care au legături către el).

74 Universitatea din Bucureşti şi Universitatea Babeş-Bolyai din Cluj-Napoca 6. Bibliografia [1] T.H.Cormen, C.E. Leiserson, R.R. Rivest Introducere în algoritmi, Editura Agora Cluj, 2008. [2] D.E. Knuth - Arta programării calculatoarelor sortare şi căutare, Editura Teora, 2006. [3] D.E. Knuth Tratat de programare a calculatoarelor, Editura Tehnică, 1976 [4] D. K. Michael, J. Tobler, J. Walter, C++, Editura Teora, 2008 [5] I.Tomescu - Data Structures, Editura Universităţii din Bucureşti, 2008. [6] http://gauss.ececs.uc.edu/redblack/redblack.html