Four console and WinForms projects implementing core data structures and algorithms in C# from first principles — queues, binary and AVL trees, greedy selection, complexity analysis, and graph traversal.
All four projects build cleanly against .NET Framework 4.7.2 with no external dependencies.
A fixed-capacity circular queue backed by a plain array, with a WinForms interface.
Enqueue,Dequeue,Peek,Count,IsEmpty,IsFullover a wrapping head/tail indexContainsfor name lookup andGetMostFundsto find the highest-value guestReverse(k)to reverse the first k elements of the queueGuestimplementsIComparablefor ordering
A three-layer tree hierarchy where each class extends the last, storing a Film catalogue.
BinTree<T>— base binary tree with recursivePreOrder,InOrder,PostOrdertraversal,HeightandCountBSTree<T>— ordered insert, remove andUpdate, usingLeastItemto find the in-order successor when removing a two-child nodeAVLTree<T>— self-balancing insert and remove, computing balance factors and applying all four rotation cases (LL, LR, RR, RL)
GetGreedyManifesto— a greedy knapsack solver selecting items by value-to-weight ratio under a weight limitInsertSortGen<T>— generic insertion sort constrained toIComparableBigOFunctions— worked complexity analysis, counting operations per line and reducing to Big-O
A generic graph over LinkedList<GraphNode<T>> holding a network of Loot items.
- Node and edge construction, including weighted edges
- Adjacency lookups:
GetAdjacencyIDs,GetAllAdjacencies,GetWeights - Metrics:
NumNodes,NumEdges,AverageOutbound,AverageWeight BFSandDFStraversal, plusSafestRoute— a least-risk path traversal using a priority queue to always expand the lowest-weight edge available
- C# / .NET Framework 4.7.2
- WinForms (queue manager UI)
- Visual Studio project files
Open any project in Visual Studio 2022 and build, or from the command line:
msbuild src/02-avl-film-library/ADSPortEx2.csproj /t:Rebuild /p:Configuration=DebugThe three console projects (02, 03, 04) each launch a menu-driven interface for exercising the data structures. Project 01 opens a WinForms window.
These began as university coursework and have been cleaned up for portfolio use: build output, IDE metadata, and unused NuGet references have been removed, leaving only the implementation work.