Какой алгоритм сортировки стоит за NSSortDescriptor? - PullRequest
5 голосов
/ 08 июня 2010

Эта штука использует пузырьковую сортировку? Или что именно? Как это работает в контексте NSFetchRequest Core Data?

1 Ответ

5 голосов
/ 08 июня 2010
  1. API NSSortDescriptor не определяет алгоритм (или даже, как практически все API-интерфейсы Cocoa, гарантия сложности Big-O).Следует предположить, что используемый алгоритм сортировки является деталью реализации.Однако, вероятно, следует также предположить, что используемый алгоритм выбирается во время выполнения для лучшей производительности.Если у вас нет жестких требований к времени или сложности памяти, вам следует использовать общедоступный API и позволить авторам инфраструктуры Apple беспокоиться о деталях.

    Если у вас есть требования к сложности, вы можете найти CHDataStructures Framework, полезный при написании собственной реализации сбора / сортировки.

  2. Для NSFetchRequest вы должны снова предположить, что он выбирает подходящий алгоритм сортировки.В частности, сортировка будет выполняться механизмом SQLite, если это возможно, при использовании постоянного хранилища SQL с Базовыми данными.

...