Skip to content

Latest commit

 

History

History
33 lines (20 loc) · 1.53 KB

README.md

File metadata and controls

33 lines (20 loc) · 1.53 KB

Data Structures 101

This repository, includes some well known Data Structures. They were developed, in the course Data Structures [NCO-02-03] (2020/21) of the Department of Computer Science at Aristotle University of Thessaloniki.

Description

The data structures implemented are:

  • Unsorted array,
  • Sorted array,
  • Simple binary search tree,
  • AVL binary search tree, and
  • Hash table with open addressing.

These structures store the different words of the text and the frequency of each word within the text. We assume that a word w1 is smaller than a word w2 when w1 comes before w2 in lexicographical order. For example, "that" < "this", "apple" < "cat", "over" < "under", etc. The text is from the Gutenberg Project and contains well-known works of world literature.

Furthermore, the program supports the following operations for the data structures:

  • insertion,
  • deletion,
  • search

and for the tree structures, additionally, inorder, preorder, and postorder traversal. For the hash table, only insertion and search (deletion is not implemented).

It should also be noted that, preprocessing is performed. For example, we convert uppercase letters to lowercase (because, for example, the word "This" is the same as the word "this") and remove punctuation marks.

More information about the implementation, can be seen on the Wiki of the repository.

Authors