Skip to content

Mini-projects to study algorithms and data stuctures as a part of UT Austin's CS 313E Elements of Software Design course.

Notifications You must be signed in to change notification settings

raqmejtru/CS313E_Elements_of_Software_Design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mini-projects to study algorithms and data stuctures, as a part of UT Austin's CS 313E Elements of Software Design course.



Project name Summary
BINARYSEARCH_tea Given a daily budget and a list of prices of tea from various stores, compute the number of different stores that tea can be purchased from, such that one cup of tea is purchased per day.
BINARYSEARCH_work Compare linear and binary search times for a given scenario.
BINARYTREE_balance_factor Given a binary tree rooted at node n, determine determine the difference in heights between its two subtrees.
BINARYTREE_expression_tree Generate a binary expression tree to prevent ambiguity in expression execution order. Include pre-fix and post-fix orders without parentheses.
BST_left_sum Return the sum of the left-side-view nodes of a binary search tree.
BST_methods Implement the following BST methods: insert, min, max, delete, height, median, size, largest branch, smallest branch, balanced
DP_maximum_profit Given a list of house prices and a list of forecasted percent value increases, determine the maximum possible profit by purchasing a subset of the listed houses.
DP_minimum_gifts A company rewards customers with gifts for certain purchases. Given a list of gift prices and the amount a customer spends, determine the minimum number of gifts that the company can send the customer.
GRAPH_bucket_fill Implement Breadth-First Search and Depth-First Search to flood fill/bucket fill pixels in images.
GRAPH_dijkstra_bellman_ford Given a graph and a starting node … Dijkstra: Greedily finds shortest path to each node from a start node (if weights are positive). Bellman-Ford: Finds shortest path to each node from a start node (can accept negative weights and will alert if a negative loop exists).
GRAPH_Euler_walk Use depth-first search to determine if a Euler walk can be performed on an un-directed graph.
GRAPH_get_adjacency_matrix Generate an adjacency matrix given a weighted, directed graph defined by an edge list.
GRAPH_topological_sort Given an edge list of a graph, if the graph is acyclic, perform a topological sort. Return the vertices in alphabetical order.
HEAP_get_median Implement a function that can use a heap to calculate the median of a given list.
LINKEDLIST_encryption Encrypt a password by rotating a singly linked list.
LINKEDLIST_methods Implement the following singly linked list methods: length, insert first, insert last, insert in order, search unordered, search ordered.
OOP_automatic_bev_machine Implement controller software for a fully automatic beverage vending machine
OOP_inheritance_employees Use OOP to manage salary calculations of company employees, with a focus on using inheritance and key-word arguments.
OOP_intervals Create an IntegerInterval class and define the following methods: length of interval, overlap, intersection, union.
PROBSOLV_anagram_families Given a list of words, return the number of anagram families.
PROBSOLV_encryption Encrypt a message by padding with asterisks, filling in a table with the padded message, rotating the table, and finally reading the message in row-major order, omitting any asterisks.
PROBSOLV_flower_arrangement Given a number of vases and a list of flowers, arrange the flowers into the vases such that no more than two flowers of the same type are inserted in the same vase. Return the type(s) of flowers that are left over.
PROBSOLV_is_symmetric_matrix Given a square 2-D list of 1s and 0s, return True if the matrix is symmetric.
PROBSOLV_spiral Given a matrix of arbitrary size, create a spiral of natural numbers such that 1 occupies the center of the spiral. Return the sum of the numbers adjacent to an input number.
RECURSION_spelling_test Given an input string and a list of strings, determine whether the input string can be spelled by some combination of strings in the list, using each string in the list no more than once. Use recursion.

About

Mini-projects to study algorithms and data stuctures as a part of UT Austin's CS 313E Elements of Software Design course.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages