Какие-нибудь книги по структурам данных и алгоритмам с примерами на Objective-C или на другом языке сообщений? - PullRequest
0 голосов
/ 26 марта 2012

Я пытался найти книги по структуре данных / алгоритмам, которые содержат примеры на Objective-C или на другом языке, поддерживающем синтаксис сообщения ключевого слова, но безрезультатно.

Причина, по которой я заинтересован в этом, заключается в том, что я действительно думаю, что синтаксис ключевого слова поможет мне понять смысл кода, о котором, как мне кажется, мне нужно больше думать в языках с типичным синтаксисом вызова функций.

Хороший пример - этот фрагмент из реализации SplayTree в C:

/* Continue down the tree.  */
n = splay_tree_splay_helper (sp, key, next, node, parent);

Имя функции довольно бесполезно, и даже с комментарием я должен тщательно прочитать код, чтобы иметь представление о том, что на самом деле там происходит.

Я знаю, что технически любой фрагмент кода C является допустимым Objective-C, но я ищу что-то, что структурирует реализации алгоритма, используя хорошую объектную модель, такую ​​как Objective-C, так как я считаю, что полученный код более удобен в обслуживании. Это может показаться нелогичным в ограниченном по производительности пространстве разработки алгоритмов, но я видел множество книг по Алгоритмам, в которых есть примеры на идиоматических Ruby, Python, Javascript и т. Д.

В основном я ищу что-нибудь с хорошей объектной моделью, которая допускает очень описательные сообщения с ключевыми словами, будь то Objective-C или даже (хотя, вероятно, маловероятно) что-нибудь еще в семействе Smalltalk.

Ответы [ 2 ]

2 голосов
/ 27 марта 2012

Зачем вам книга? Просто скачайте smalltalk environment и прочитайте весь фактический источник. Откройте системный браузер, выберите одну из категорий «Коллекции» (коллекция классов) и начните просмотр кода (дополнительный столбец предназначен для категорий сообщений). Откройте рабочее пространство, введите Object cmd-B (или ctrl-B для просмотра) и убедитесь сами, почему был изобретен принцип единой ответственности. Перемещайтесь по коду с иерархией, отправителями и разработчиками.

2 голосов
/ 26 марта 2012

Я думаю, что вы ищете не ту вещь.

Хорошие книги по алгоритмам и структурам данных постараются не тратить ваше время на трудно читаемый исходный код. Большинство хороших книг, которые я знаю, проводят большую часть своего времени, объясняя вещи на высоком уровне и показывая фактический код только в небольших отрывках, которые легко понять независимо от используемого языка и от того, насколько хорошо вы владеете им.

Неважно, насколько запутанной является реализация splay-деревьев каким-то парнем. Пока вы знаете, что такое дерево сплайнов, вы сможете реализовать свою собственную версию, не обращая особого внимания на попадание.

И, наконец, хорошая объектная модель и хороший синтаксис - это далеко не все. Многие структуры данных используют типы объединений, которые не очень хорошо реализованы в ОО-стиле, а шаблоны имен и синтаксис - это вещи, к которым вы должны быстро привыкнуть.

...