Skip to content

Latest commit

 

History

History
50 lines (40 loc) · 1.61 KB

README.md

File metadata and controls

50 lines (40 loc) · 1.61 KB

ESC190-labs

Eric Lefort, Halil Kelebek

Lab 1

  • initialize a variable and change its value in a function by reference
  • implement insertion sort for arrays of int

Lab 2

  • implement linked lists using structs
  • using unions in linked lists for data type flexibility

Lab 3

  • implement a version of strcat()
  • implement a version of strcmp()
  • implement a version of atoi(), convert from string to integer
  • detect cycles in a linked list data structure using a simplified version of Floyd's tortoise and hare cycle-finding algorithm.

Lab 4

  • operate on linked lists
    • free
    • append
    • insert
    • delete
    • print
  • locate index of element in sorted list in logarithmic time

Lab 5

  • implement a simple graph framework
  • find various path lengths using Dijkstra's algorithm
  • use a priority queue to improve time complexity of Dijkstra's algorithm

all done using object-oriented programming

Lab 6

  • implements simple binary search tree
  • traversing a binary search tree
  • determining the height of a BST (Note to self: store this value and update it when adding elements)

Lab 7

  • implements reading binary image file
  • can scale all pixel color values (adjusting brightness)
  • dynamic programming seam-carving algorithm

Project 1: autocomplete

  • reading data from a text file
  • sorting arrays of structs using different types of comparisons (qsort)
  • binary search: locating indices of elements in a sorted list in logarithmic time ... again

Project 2: seam carving

  • using dynamic programming to identify least important connected path of pixels to remove from an image (content-aware image resizing)