Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

home / study / engineering / computer science / computer science questions and answers / so i know what the adjacency matrix does, but i

home / study / engineering / computer science / computer science questions and answers / so i know what the adjacency matrix does, but i am stuck on how to implement to check to see ...

Question: So I know what the adjacency matrix does, but I am stuck on how to implement to check to see if e...

So I know what the adjacency matrix does, but I am stuck on how to implement to check to see if each nodes are an adjacent and return as true if they are in terms of rows and columns. I would like to get some help on how to set it up easier. Here is what is being provided.

Prompt: Write a C++ 11 function named is_connected() to determine whether an undirected unweighted graph is connected when the graph is stored in the adjacency matrix format using the class.

Write a main program that hard-codes the entries of the adjacency matrix and then passes the matrix to the is_connected function. Every graph has vertices labeled with consecutive unsigned integers starting at 0.

Matrix code: add the function to it

Matrix class #ifndef MATRIX_H #define MATRIX_H

#include

/** * A generic 2-dimensional array class */ template class Matrix { public: /** * Constructor, specifying number of both rows and columns * @param rows the number of rows * @param cols the number of columns */ Matrix( uint16_t rows, uint16_t cols );

/** * Access to an element to allow modification * @param row the row index * @param col the column index * @return reference to the element at that position */ Object & at( uint16_t row, uint16_t col );

/** * Constant access to an element * @param row the row index * @param col the column index * @return constant reference to the element at that position */ const Object & at( uint16_t row, uint16_t col ) const;

/** * Destructor to free allocated memory */ ~Matrix();

/** * Copy constructor to make 1-1 copy of existing matrix * @param m the existing matrix to be copied */ Matrix( const Matrix & m ); // Copy constructor

/** * Disallow the rvalue copy constructor */ Matrix( const Matrix && m ) = delete;

/** * Assignment operator to make 1-1 copy of existing matrix * @param m the existing matrix to be copied */ Matrix & operator= ( const Matrix & m ); // Assignment operator

/** * Disallow the rvalue assignment operator */ Matrix & operator= ( const Matrix && m ) = delete;

/** * Accessor to determine how many rows are in the matrix * @return the number of rows in the matrix */ uint16_t numrows() const;

/** * Accessor to determine how many columns are in the matrix * @return the number of columns in the matrix */ uint16_t numcols() const;

private: uint16_t rows; uint16_t cols; Object* data; };

template Matrix::Matrix( uint16_t rows, uint16_t cols ) : rows( rows ), cols( cols ) { data = new Object[ rows * cols ]; }

template Matrix::~Matrix() { delete[] data; }

template Object & Matrix::at( uint16_t row, uint16_t col ) { assert( row < rows && col < cols ); return data[ cols * row + col ]; }

template const Object & Matrix::at( uint16_t row, uint16_t col ) const { assert( row < rows && col < cols ); return data[ cols * row + col ]; }

template uint16_t Matrix::numrows() const { return rows; }

template uint16_t Matrix::numcols() const { return cols; } //implement this method //bool is_connected method

#endif

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Driven Web Sites

Authors: Joline Morrison, Mike Morrison

2nd Edition

? 061906448X, 978-0619064488

More Books

Students also viewed these Databases questions