Skip to content

LDercher/Programming-2

Repository files navigation

Programming-2

Programming II - C++ This course used C++ to teach us common data structures, sorting algorithms, basic recursion, pointers, and memory management. We also covered some of the finer points of object oriented programming and did some basic complexity analysis. Each of the labs below was a weekly assignment to reinforce the elcture material. In addition to the topics covered below, we spent some time talking about heaps and array-based trees.

Pokemon Game: This is a console RPG based on two fighting Pokemon. This lab is a repeat of a lab in Programming I, intended as a gentle transition from Java to C++.

Linked List: This lab focused on implementing a pointer-based, singly-linked list with integer nodes.

Double Linked List: This lab extended the previous lab to a doubly-linked list, and introduced the concept of templated objects and classes (generics).

Stack: This lab focused on creating a pointer-based stack, again using templated classes and nodes.

Animal Pen (Interfaces & Inheritance): This lab used a stack interface and a custom object heirarchy built from scratch, to make use of inherited attributes. Includes multiple inheritance and private/protected attributes.

Iterative Sorting: This lab focused on implementing numerical sorting with iterative methods. Includes BOGOsort, selection sort, and bubble sort, with a timer for each.

Recursive Sorting Suite: This lab extended the previous, adding insertion sort, quick sort, and merge sort. In addition to implementing the recursive definitions for each algorithm, we also wrote a series of programs to generate test cases. These test cases were used to evaluate the strengths and weaknesses of any given algorithm.

Binary Search Tree: This lab focused on building a pointer based binary search tree. Recursive methods were included to traverse the tree in various orders, construct deep copies, and extract information.

Mazewalker: This lab focused on using stacks and queues to solve text-based mazes. The concepts of DFS and BFS were applied to 2D arrays to solve an input maze by brute force.

About

Data Structures class

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published