Тип используемой реализации?
Есть вопрос, который я уже некоторое время пытаюсь решить, но мне трудно понять правильную его реализацию. Если мы напишем программу, которая будет манипулировать тысячами записей, каждая из которых содержит название продукта, тип, серийный номер, розничную цену и т. д. В каждом случае ниже объясните, какой абстрактный тип данных (очередь, стек, несортированный и отсортированный список) вы бы использовали, а также какую реализацию (массив или связанную структуру). Кратко обоснуйте свой выбор.
1) Записи будут извлекаться в том же порядке, в каком они были сохранены. Заранее неизвестно, сколько записей будет обработано и как.
Я предпочитаю несортированный список для этой цели, который использовал реализацию связанного списка, потому что мы не знаем количество записей в начале,и данные будут извлекаться по мере их хранения, следовательно, они должны быть связаны, что также может быть возможно с помощью ADT, как очередь или стек, но они используют реализацию массива, следовательно, возникает проблема выделения памяти.
2) Все записи будут вставлены в начале, один раз и в произвольном порядке. Они будут извлекаться очень часто, основываясь на серийном номере.
Даже в случае печати всех данных записей за один раз это будет возможно с несортированным списком.
3) Большое, но неизвестное количество записей о продуктах будет вставлено по мере необходимости. Они редко будут извлечены по отдельности. Большинство операций будет состоять из обработки всех записей за один раз, например, печати всех.
Однако здесь сортированный и несортированный список имел большую эффективность использования, но я предпочитаю несортированный список, потому что он требует времени для сортировки, что снижает его эффективность.
Что вы, ребята, думаете?
Что я уже пробовал:
Я попытался ответить на эту проблему, как указано выше в вопросе.
Philippe Mori
Вы должны сами делать домашнее задание. Очередь и стек могут быть основаны на массиве или списке, поэтому ваш первый ответ неверен.
Что касается второго случая, то, похоже, вы недостаточно внимательно его прочитали. Он явно говорит, что элементы извлекаются много на основе серийного номера. Несортированный список вообще не будет эффективным.