Skip to content
@COS2611

COS2611

COS2611 - Programming: Data Structures

Welcome to the COS2611 organization on GitHub! This organization is aimed at university students studying "COS2611: Programming: Data Structures" and is dedicated to helping students learn data structures using C++.

The purpose of this organization is to encourage student participation and facilitate learning by providing a platform where students can access various resources, including code examples, solutions to programming challenges, and discussion forums where they can seek and provide help.

Most of the code examples provided in this organization are taken from the book Data Structures Using C++ - Second Edition by DS Malik. We have adapted and modified these examples to better suit the needs of the students studying COS2611.

First off

This organization is run by students and it is a work in progress (as of March 2023). The study objectives for this organization are listed below. Contributions to this organization will be made over time, so check back for updates. If there is something in particular you would like help with, please see the contact us section below and get in touch.

How to use these repositories

These repositories contain various resources to help students learn data structures using C++. Here's a quick overview of what you can find in this repository:

  • Code examples: These repositories contain code examples that cover various topics related to data structures using C++. You can use these examples to practice coding and to get a better understanding of how data structures work.
  • Programming challenges: We have included programming challenges in this repository to help you practice your programming skills. These challenges are designed to test your knowledge of data structures and to help you apply the concepts you have learned in class.
  • Discussions: We encourage students to participate in discussions on the discussion forums to ask and answer questions, share tips and best practices, and help each other learn. Contributing to this repository

We welcome contributions from students and anyone interested in data structures and C++. If you would like to contribute to these repositories, you can do so by submitting a pull request for a particular repository. We also encourage you to submit bug reports, feature requests, and feedback to help us improve this repository.

Acknowledgements

We would like to acknowledge DS Malik for his book "DATA STRUCTURES USING C++ -Second Edition," which has provided much of the code examples used in this organization.

Contact us

If you have any questions or feedback, please feel free to contact us through the discussion forums or by emailing us at [tide.mute_06@icloud.com]. We look forward to hearing from you and hope that you find this repository helpful in your studies of data structures using C++.

Study Objectives

Chapter 1: Algorithm Analysis

  • Specify a function to indicate the time and space requirements of a (non-recursive) algorithm in terms of input size.
  • Determine the worst case time and space complexity of non-recursive algorithms.

Chapter 3: Pointers

  • Declare and manipulate pointer variables
  • Use the new and delete operators to manipulate dynamic variables
  • Use dynamic arrays
  • Distinguish between shallow and deep copies of data
  • Implement classes with pointer data members

Chapter 4: STL

  • Apply STL components such as containers, iterators, and algorithms (Not examinable)

Chapter 5: Linked Lists

  • Explain the basic concepts of linked lists
  • Implement insertion and deletion operations on linked lists
  • Implement and manipulate a linked list
  • Implement and manipulate an ordered list
  • Apply the STL container

Chapter 6: Recursion

  • Understand recursive functions
  • Implement recursive functions to solve problems

Chapter 7: Stacks

  • Explain the basic concepts of stacks
  • Implement a stack using an array
  • Apply the STL stack container

Chapter 8: Queues

  • Explain the basic concepts of queues
  • Implement a queue using an array
  • Apply the STL queue container

Chapter 9: Searching and Hashing Algorithms

  • Implement and analyse the sequential search algorithm.
  • Implement and analyse the binary search algorithm.

Chapter 10: Sorting Algorithms

  • Implement and analyse the selection sort algorithm
  • Implement and analyse the insertion sort algorithm
  • Apply the quick sort algorithm
  • Apply the merge sort algorithm

Chapter 11: Binary Trees & B-Trees

  • Explain the basic concepts of binary trees
  • Apply binary tree traversals
  • Implement a binary tree
  • Implement a binary search tree
  • Analyse binary search trees

Chapter 12: Graphs

  • Explain the basic concepts of graph theory
  • Know how to represent a graph as an ADT
  • Explain and apply the breadth-first traversal algorithm
  • Explain and apply the shortest path algorithm

Popular repositories Loading

  1. LinkedList LinkedList Public

    Revision for COS2611: Data Structures and Algorithms

    C++ 2

  2. Queue Queue Public

    Queue implementation for COS2611

    C++ 2

  3. Stack Stack Public

    Revision for COS2611

    C++ 2

  4. BinaryTree BinaryTree Public

    Binary Tree exercises based on "Data Structures Using C++ 2nd Edition by D S Malik"

    C++ 1

  5. .github .github Public

Repositories

Showing 5 of 5 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…