dianadespa / inverted_index Goto Github PK
View Code? Open in Web Editor NEWApplication that indexes sites based on query words and performs several operations with them. Data Structures homework.
Application that indexes sites based on query words and performs several operations with them. Data Structures homework.
Inverted Index In realizarea temei am folosit scheletul de cod pus la dispozitie pe site. Pentru implementarea metodei "Inverted index" am utilizat liste liniare dublu inlantuite ca valori ale hashtable-ului. Listele sunt reprezentate de clasele LinkedList si SortedLinkedList, care o mosteneste pe prima, acestea continand metodele clasice de adaugare, stergere si verificare a continutului unei liste, si o metoda pentru supraincarcarea operatorului de atribuite, pentru a ma asigura ca aceasta operatie este realizata corect (stergerea continutului listei din stanga operatorului si apoi adaugarea tuturor elementelor din lista din dreapta operatorului). Clasa Hashtable contine metode pentru: inserarea unei valori cu o anumita cheie(put), verificare existentei unei chei(hasKey), verificare existentei unei valori cu o anumita cheie(hasValue), intoarcerea unui pointer la continutul unei chei / la o lista de site-uri(get), redimensionarea hashtable-ului atunci cand raportul dintre dimensiunea structurii si capacitatea ei totala depaseste factorul de incarcare. Nodurile hashtable-ului(elem_info) sunt formate din 2 componente: un cuvant cheie si un pointer la lista de site-uri care ii corespunde. In clasa elem_info am adaugat o metoda pentru supraincarcarea operatorului de atribuire. La clasa Algorithm din scheletul de cod am declarat un membru de clasa Hashtable cu care sunt realizate toate operatiile indicate in enunt. Pentru functia "indexSite", care se apeleaza la comanda "PUT", doar adaug la hashtable-ul membru site-ul indicat, cheile fiind pe rand cuvintele din comanda. Pentru functia "getSites", care corespunde comenzii "GET", realizez intersectia tuturor listelor de site-uri care au drept chei cuvintele din interogare, utilizand metoda "intersect". Aceasta parcurge cele doua liste ale caror adrese sunt date ca parametrii intr-un mod similar cu cel de la intercla- sare si adauga elementele comune la lista ce trebuie intoarsa de functie. Functia "wordInSite", care corespunde comenzii "SITE" se foloseste de metoda "hasValue" din Hashtable pentru a verifica daca site-ul din comanda se afla in listele cuvintelor cheie din interogare.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.