Home


Arrays


Vectors


SLL


DLL


Stacks


Queues


Trees


Exercises


Winner of the 2015 Part 4 Software Tools project!

Developers:

  • Ogen Odisho (2015)
  • Mark Aziz (2015)
  • Elliot Varoy (2017)
  • Song Huang (2019)

Project Supervisor:

Published as:

Funding received:




Available in multiple formats:





This educational support and tool for Data Structures is designed and implemented with effective and efficient educational theory in mind. By using this app, users will obtain hands on experience by manipulating elements and nodes in basic Data Structures such as Arrays, Vectors, Linked Lists (both Singly and Doubly), Stacks, and Queues. This tool stands out from the crowd by not only helping users to learn Data Structure concepts, but it offers fun animations and short exercises to help users to realise the pros, cons and efficiency of certain Data Structures. InteractiveDS was built by following a set of educative theories such as Constructive Alignement in order to maximise the learning experience of users.



Arrays

InteractiveDS offers several activities that show a graphical representation of how an array works. These activities are divided into 3 operations: Add, Remove and Array Expansion. The "Add" and "Remove" operations can be performed to the front, middle or end of the array. The array expansion activity shows what happens when an array becomes full and needs to increase its capacity

Vectors

The vector activities are similar in structure to the array activities. They are also divided into 3 operations: Add, Remove and Vector Expansion. The "Add" and "Remove" operations can be performed to the front, middle or end of the vector. The vector expansion activity shows what happens when an array becomes full and needs to increase its capacity

SLL

The SLL (or Singly Linked-List) activities help users visualise the data structure as well as drag and drop nodes and arrows in order to perform operations. The operations included in the app are the "Add" and "Remove" operations which can be performed to the front, middle and end of the SLL. The activities also show the code that would normally be used to perform the operations programmatically.

DLL

The DLL (or Doubly-Linked List) activities help users visualise the data structure as well as drag and drop nodes and arrows in order to perform operations. The operations are the same as the SLL activities: "Add" and "Remove" operations which can be performed to the front, middle and end of the SLL. The activities also show the code that would normally be used to perform the operations programmatically.

Stacks

InteractiveDS includes a few stack activities that show the encapsulation of the stack data structure. The app shows stacks implemented as singly-linked lists and vectors. Users do not need to perform the underlying operation of the primitive data structure, they only need to push single buttons to perform the push and pop operations. The SLL implementation is divided into two different activities: "tail top of stack" and "head top of stack".

Queues

InteractiveDS includes a few queue activities that show the encapsulation of the queue data structure. The app shows queues implemented as singly-linked lists, vectors and circular arrays. Users do not need to perform the underlying operation of the primitive data structure, they only need to push single buttons to perform the enqueue and dequeue operations. The SLL implementation is divided into two different activities: "tail front of queue" and "head front of queue".

Trees

InteractiveDS includes a few tree activities that visualise the tree data structure. There are three types of trees supported: general tree, binary tree and binary search tree. Users can create a node and add it in the tree, or remove a leaf node from the tree. Through these operations, it helps understanding how to use these tree data structures. The activities also show the code that would normally be used to perform the operations programmatically.

Exercises

InteractiveDS offers additional exercises for the SLL and DLL data structures. These exercises ask the user to manipulate the linked list provided to look exactly as the target linked list. This process may involve several different types of operations to be performed on the data structure. The exercises are split into 3 difficulties: easy, medium and hard. By doing these exercises, users can practice performing the several operations on the same linked list and therefore become more efficient in performing them.