Computer Science Homework Help
Computer Science Homework Help. Data structures and Algorithms.
See
Submit your github link
————————————————————————————————————————————-
For this Assignment you will write your own HashTable in Python or Java. Do not use any built in Hashing Structures (dictionaries, Maps,Etc). For Simplicity sake make the underlying structure a basic array or list.
You will :
- Read in the file below
- https://github.com/first20hours/google-10000-engli…
- Store each word in your HashTable for easy lookup
- You will have to build a hash() function to give an integer value for your String
- Store the String in that index
- If a Collision, use a collision mitigation strategy
- Calculate and report the percentage of collisions in your structure
- Your HashTable may not be more than 20% larger than the # of total words
Bonus 10/5/2 points to the top 3 hashing functions in the class (lowest collision rate)
Submit the files on Canvas or submit a link to your Github page
—————————————————————————————————————————-
For this lab you will implement one sorting algorithm. You can choose from either insertion sort or bubble sort.
If you choose insertion sort these lines of code must work (define your methods/functions to work accordingly)
—————Python—————
print(insertion_sort([5,2,4,3,10,7,1,9,6,8]))
—————Java——————-
System.out.println(Arrays.toString(insertionSort(new int[] {5,2,4,3,10,7,1,9,6,8})));
If you choose bubble sort use the following:
—————Python—————
print(bubble_sort([5,2,4,3,10,7,1,9,6,8]))
—————Java——————-
System.out.println(Arrays.toString(bubbleSort(new int[] {5,2,4,3,10,7,1,9,6,8})));
Bonus +10
Make your method/function work for an array of Text/String such as:
python : [‘banana’,’apple’,’carrot’,’cardamon’,’donut’,’taco’,’pasta’,’mushrooms’]
java : new String[]{‘banana’,’apple’,’carrot’,’cardamon’,’donut’,’taco’,’pasta’,’mushrooms’}
—————————————————————————————————————————-
Complete the code in your chosen language at
Submit your github link
————————————————————————————————————————————————-
Recode your Palindrome assignment in Lab 1: Algorithm Analysis . Now detect Palindromes using a recursive function.
Turn in your code or push it to github and submit the link
—————————————————————————————————————————————————-
Complete the questions on AVL_LAB.pdf .
Scan/ redraw and submit the file/image to canvas.
—————————————————————————————————————————————————
Using your code from Lab 5: BST add the following:
-Preorder traversal
-Post order traversal
-Search functionality
Search for java
//decide whether you want int n or Node n
private boolean search(int n){
//return true or false if a node contains the value n
}
Search for python:
def search(n):
#return true or false if a node contains the value n
Submit github link
——————————————————————————————————————————–
Give the input edges in the file graph_input.txt
– The file has 1 edge per line in the format (origin,destination)
– Assume the graph is not directional
– (2,5) means there is a path from 2 to 5 and from 5-2
For the Lab write the following code.
1) Write a function to find all adjacent vertices to a node N ( find_adjacent(n))
2) Write a function that will return true or false that an edge exists ( edge_exists(origin,destination))
3) Print out all Vertices using BFS
Bonus +5
Print out all Vertices using DFS
Bonus +5
Write a function to print out the shortest path between two vertices (shortest_path(origin,destination))
Bonus +5
Find all Cliques in the graph and print them out
Submit your github url
Computer Science Homework Help