1. Главная
  2. Библиотека
  3. Информационные технологии
  4. В некоторой библиотеке есть два класса, в которых опред...
Разбор задачи

В некоторой библиотеке есть два класса, в которых определены одинаковые операции для работы с ориентированным взвешенным графом. В первом классе граф представлен матрицей весов, структура хранения которой - двумерный массив элементов типа unsigned int. Во

  • Предмет: Информационные технологии
  • Автор: Кэмп
  • #Программирование (языки C++, Java, Python и др.)
  • #Алгоритмы и структуры данных
В некоторой библиотеке есть два класса, в которых определены одинаковые операции для работы с ориентированным взвешенным графом. В первом классе граф представлен матрицей весов, структура хранения которой - двумерный массив элементов типа unsigned int. Во

Условие:

В некоторой библиотеке есть два класса, в которых определены одинаковые операции для работы с ориентированным взвешенным графом.

В первом классе граф представлен матрицей весов, структура хранения которой - двумерный массив элементов типа unsigned int.

Во втором классе граф представляется списками смежности, структура хранения каждого из которых - односвязный линейный список, значением поля данных каждого элемента является номер вершины и вес дуги. Указатели на головы списков размещаются в массиве. Схематичное изображение структуры хранения в целом приведено на рисунке ниже. Указатель g объявлен так:\nstruct node {\nshort int number_node;\nunsigned int weight;\nnode* next; } **g;

Укажите минимальный порядок графа, для хранения которого в объекте второго класса будет выделяться гарантированно меньше памяти, чем в объекте первого класса, если степень любой вершины не будет превышать шести, sizeof(int) =4=4 байта, размер каждого указателя - 8 байт, а поля структуры располагаются вплотную друг к другу.

Решение:

  1. Первый класс (матрица весов):

    • Граф представлен матрицей весов, которая является двумерным массивом размером V x V, где V - количество вершин графа.
    • Каждый элемент матрицы занимает 4 байта (unsigned int).
    • Таким образом, память, необходимая для хранения графа в первом классе, составляет: P1 = V * V * 4 байта.
  2. Второй класс (списки смежности):

    • Граф представлен списками смежности. Для каждой вершины хранится список, который содержит информацию о смежных вершинах и весах рёбер.
    • Предположим, что ма...

Внутри — полный разбор, аргументация, алгоритм решения, частые ошибки и как отвечать на каверзные вопросы препода, если спросит

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Какое из следующих утверждений наиболее точно описывает условие, при котором представление графа списками смежности (второй класс) будет более эффективным по памяти, чем представление матрицей весов (первый класс)?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

Выбери предмет