-
Notifications
You must be signed in to change notification settings - Fork 0
jonathanparra123/data_structures
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
# data_structures -Different types of data structures such as Hash tables, trees, and linked lists. -Using C++ as the main language. -Every folder has a different type of data structure. -bellow is quick explantion of each folder. ******************************************************************************* word_ladder_BST is a Word Ladder program using a txt file for the dictionary. The program uses a binary search tree to find assosiated words which then builds a ladder from a staring word to an ending word of the same lenght with each word in the ladder having at least one letter in common with the last word. ******************************************************************************** BST_Linked_List is similar to word_ladder_BST program but this time it is building a binary tree structure with a linked list pointing to two child nodes. The programs first builds the data struct using a linked list then it looks for appropriate words to build the ladders. The reason why i build a binary tree structure is to decrease the run time of the program. ********************************************************************************* BST_num_recursion deals with numbers instead of words. Everytime a numbers gets inserted into the tree, it will print out the actual tree structure with each number and recursively find the height of the tree each time. This programs shows what the binary tree looks like at each iteration with each node having a right and left child which represent a less or greater number than the parent node respectively. ********************************************************************************* AVL_Balancing creates a tree like structures but unlike a normal binary tree, this program will balance out the tree. It accomplishes this by checking the children nodes and levels of the parent node every time a number gets inserted. Everytime a side of the tree starts getting bigger than the other side, the program will rotate the target node right or left with its children nodes to make sure that the tree is balanced. Since the tree is more balanced now, using a binary search will have a linear running time searching. ********************************************************************************* HashTable folder holds the implementation of a hash table and prints out the results in a ouput txt file. When inserting a value to the hash table the program will create a unique hash value and store it in the data structure. I also created both delete and rehash functions in order to manipulate the data stucture easier. Lastly, the hash tables also resizes itself whenever the data values occupy at least half of the size of the hash table as to always have enought space for all value data. ********************************************************************************** Double_hashing is an implementation of a hash table but with a double hashing method. This time we use multiple hashing functions to create a truly unique hash key or value which prevents hashing collision giving a more optimized performance. ********************************************************************************** MinHeap program creates a heap that stores the min value of the set at the head of the heap. Since the heap stores the min value at the head it will give you a constant running time in finding a min value, If the min value is deleted then the heap will search its nodes for the next value and compare it to the parent node's children to determine the new min value to go on top of the heap. ***********************************************************************************
About
No description or website provided.
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published