Giter Site home page Giter Site logo

cs313e_elements_of_software_design's Introduction

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.

cs313e_elements_of_software_design's People

Contributors

raqmejtru avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.