Предпочтительно на Java. Меня интересуют реализации структур данных, таких как Sets and Maps, и алгоритмы, такие как сортировка, которые эффективны с точки зрения памяти, не обязательно быстрые. Я мог бы жить с извлечением O (n^2) и хранить, если количество памяти и количество распределений были низкими. Что-нибудь там?Ищете космические эффективные алгоритмы и структуры данных
ответ
O (n^2) кажется действительно чрезмерным. Что именно вы ожидаете от своей структуры данных? Простое использование вектора даст вам O (n) наихудший случай для хранения и извлечения, а также для O (n) пространства. - Последнее не может быть действительно уменьшено (запрет на сжатие структуры данных, но для этого вам нужно предоставить много более подробную информацию о вашем домене данных), так почему бы просто не использовать вектор?
Для чрезвычайно компактных структур по сравнению с стандартными стандартами java можно работать на уровне бит. Разумеется, это сильно зависит от ваших данных, код, на мой взгляд, не может быть общим. Я не знаю ничего, что могло бы сделать это в целом. Вы могли бы разработать его (возможно, используя класс BitSet).
Что-то в Java, который сверхкомпактные это перечисление классов: EnumSet и EnumMaps. Они чрезвычайно компактны и чрезвычайно быстры. Идея:
- Определение наличия или нет конкретного перечисления, например, в виде набора является булевой информация, поэтому она требует 1 бит. Поэтому для EnumSet требуется только один длинный (для перечислений с менее чем 64 экземплярами).
- В EnumMap (строка только для примера), не требуется хранить ключ (enum), его можно сделать неявным, вызывая ordinal() на перечислении, которое поставляет индекс. Следовательно, память может быть String [], а ключи не сохраняются.
- 1. Алгоритмы и структуры данных
- 2. Параллельные алгоритмы и структуры данных
- 3. Эффективные алгоритмы многопользовательского поиска
- 4. Эффективные алгоритмы процессора?
- 5. Эффективные алгоритмы дерева перестановок
- 6. PHP, некоторые эффективные алгоритмы
- 7. Эффективные алгоритмы слияния многоугольников
- 8. Эффективные структуры данных в Maple
- 9. Эффективные структуры данных для сопоставления данных
- 10. Почему STL отделяет структуры данных и алгоритмы
- 11. Эффективные структуры объявлений Mysql
- 12. Эффективные структуры данных для непересекающихся целых интервалов
- 13. Алгоритмы и структуры для словаря
- 14. Пространственно-эффективные вероятностные структуры данных для извлечения номера
- 15. Какие структуры данных и алгоритмы применяются в кубах хранилища данных?
- 16. Каковы эффективные алгоритмы покрытия границ Geohash?
- 17. Эффективные алгоритмы манипуляций с пиксельными пикселями
- 18. Эффективные алгоритмы слияния хэшей в разреженной матрице
- 19. Advanced/Непродуктовые общие эффективные алгоритмы сортировки
- 20. Алгоритмы или книги структуры данных по схеме
- 21. Эффективные шаблонные структуры в C++
- 22. Эффективные постоянные структуры данных для реляционной базы данных
- 23. Структура данных и алгоритмы сложности
- 24. Структуры данных и алгоритмы для адаптивной «однородной» сетки?
- 25. Где я могу узнать, как объединить алгоритмы и структуры данных?
- 26. Что такое алгоритмы и структуры данных в условиях неспециалиста?
- 27. Какие структуры данных и алгоритмы не реализуются в C?
- 28. Ищете алгоритмы для создания реалистичных планет
- 29. Распределение памяти для ядра Космические и пользовательские космические процессы
- 30. Космические объекты
Мои мысли точно. Эта квадратичная вещь очень похожа на то, чтобы идти против стены нарочно. –