Существует вопрос, который я пытался решить некоторое время, но мне трудно понять правильную реализацию для него. Если мы напишем программу, которая будет манипулировать тысячами записей, каждая из которых будет содержать название продукта, тип, серийный номер, розничную цену и т. Д. В каждом случае ниже объясните, какой абстрактный тип данных (очередь, стек, не сортированный и отсортированный список) вы использовали бы , и какая реализация (массив или связанная структура). Кратко оправдывайте свой выбор.Тип исполнения б/у?
1) Записи будут получены в том же порядке, в каком они были сохранены. Нельзя заранее сказать, сколько записей будет обработано и как.
- Я предпочитаю Unsorted список для этой цели, которая используется реализацией связанного списка, потому что мы не знаем, количество записей в начале, и данные будут извлечены, поскольку они хранятся, следовательно, они должны быть связаны, который также может быть возможным ADT, как Queue или Stack, но они используют реализацию массива, поэтому возникает проблема распределения памяти.
2) Все записи будут вставлены в начале, один раз и в произвольном порядке. Они будут извлекаться очень часто, основываясь на серийном номере.
- Даже в случае печати всех данных записей за один раз это возможно в списке Unsorted.
3) большое, но неизвестное количество записей продукта будет вставлен, как и в случае необходимости. Их редко будут получать индивидуально. Большинство операций будут состоять из обработки всех записей за один раз, например, для печати всего.
- Однако здесь отсортированный и несертифицированный список имел большую эффективность использования, но я предпочитаю список без сортировки, потому что для сортировки требуется время, которое снижает его эффективность.
Что вы, ребята, думаете?
Подсказка: список почти всегда неверный. И ваше предположение, что стек и очередь на основе массивов неверны. –
Если это не вопрос учебника/экзамена, а реальная проблема, следуйте предложению Страустрапа и начинайте с векторов. Два слова о том, почему: эффект кеша. – lorro
@lorro Это проблема с учебником, которую я сегодня решаю. –