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