Звучит как домашнее задание или вопрос на собеседовании. Если бы я спрашивал об этом, мне было бы интересно не только понять, понимаете ли вы пару структур данных. Я также хотел бы знать, как вы анализируете реальную проблему и переводите ее в мир компьютеров и структур данных.
Таким образом, вам следует подумать о том, какие операции необходимо выполнить с данными, прежде чем выбрать структуру данных. Вам также следует подумать о реальных библиотеках и о некоторых «ошибках», которые могут предложить любую выбранную вами структуру данных.
Если все, что вам нужно сделать, это перевести из ISBN в запись каталога для соответствующей книги, то хеш-таблица может быть разумным выбором. Но вы можете подумать о том, как вы будете иметь дело с популярными книгами, такими как бестселлеры, в которых у библиотеки может быть много копий.
Но действительно ли поиск в ISBN является важным вариантом использования? Я все время пользуюсь своей местной библиотекой и никогда не ищу книги ISBN. Вот некоторые вещи, которые я делаю:
- Поиск конкретной книги по названию. Иногда встречаются разные книги с одинаковым названием.
- Просмотр списка книг автора, который мне нравится
- Найдите, где находятся книги по определенному предмету, чтобы я мог просматривать их.
Библиотекари, вероятно, имеют дополнительное использование для системы каталогов:
- Добавление новых книг в каталог
- Пометить книги как проверенные
- Изменение информации о списках, например, предметной классификации, для книги
Поэтому я полагаю, что я бы порекомендовал более тщательно подумать о том, какую проблему вы хотите решить, прежде чем принять решение о решении.
Извиняюсь за то, что задал больше вопросов вместо того, чтобы дать ответ. Я надеюсь, что это все равно полезно.