CUT TO:

INT. PROJECT ARCHIVE — STORYBOARD ROOM

The USER opens Multiset Abstract Data Type.

DIVAKAR DESSAI

Let's run through the shots.

CASE FILE / COMP2521 / Data Structures & Algorithms

Multiset Abstract Data TypeBuilding a Collection ADT from First Principles

Implemented a complete multiset abstract data type in C with dynamic memory management, higher-level set operations, iterators and complexity analysis.

01–02 / OPENING SEQUENCE

Establishing the world

01 / Establishing Shot

The Problem

The task was to implement an efficient collection abstraction in which individual values could appear multiple times while preserving a clean public interface.

02 / Wide Shot

The Context

The assignment formed part of COMP2521 and focused on implementing abstract data structures directly in C.

03 / CHARACTER NOTE

DIVAKAR'S ROLE

Subject

Divakar Dessai

Production

Multiset Abstract Data Type

Take

03 / Role

Role notes

DIVAKAR DESSAI

I implemented the internal data structure, public operations, iterator behaviour and memory-management logic.

04 / CLOSE-UP

THE ENGINEERING CHALLENGE

Correctness alone was not sufficient: the representation also affected the asymptotic performance of every operation.

05 / TRACKING SHOT

THE APPROACH

A plan emerges.

I separated the public interface from the internal representation, implemented the required operations around the chosen structure and evaluated the complexity of each algorithm.

06 / INSERT SHOTS

KEY FEATURES

The system takes shape.

07 / DIRECTOR'S NOTES

DESIGN DECISIONS

Things we decided along the way

01

Encapsulated implementation details behind the ADT interface.

02

Designed operations around the performance characteristics of the underlying structure.

03

Handled ownership and cleanup explicitly.

04

Kept iteration separate from core storage operations.

design decisions

somewhere mid-build

08 / RETAKES

WHAT WENT WRONG

Naturally, not everything cooperates.

09 / FINAL SHOT

THE OUTCOME

ProblemBuildOutcome
01

Implemented a reusable collection ADT from first principles.

02

Strengthened understanding of C memory management.

03

Connected data-structure choices directly to algorithmic performance.

10 / PRODUCTION NOTES

TECH STACK

The tools behind the scenes.

CADTsTreesDynamic MemoryIterators

11 / BEHIND THE SCENES

LINKS

FADE OUT.

USER closes the file.

One project down. A few more stories left.

DIVAKAR DESSAI

Pick another?
← Return to Projects