TGViewer
Верхняя полка📝 Верхняя полка📝 @stopshelf · 358 subscribers
Post #54 131
Одна из текущих рабочих задач внезапно обернулась необходимостью создать свой собственный движок электронных таблиц. Да-да, надо по-быстрому запилить свой Google Sheets, ну или хотя бы Excel🤪

К счастью, требования не такие обширные, как к продуктам ИТ-гигантов, да и UI-часть пока за скобками, но модель представления в памяти всё же под вопросом. Понятно, что никакая двумерная коллекция — будь то массив, нагромождение `Map`ов или список списков -- не подойдут, потому что будут крайне неэффективно расходовать память, ведь ячейки могут быть заполнены как попало и разбросаны по большому листу. Вместе с тем нужно уметь работать с диапазонами, поддерживать группировку (слияние) ячеек, поиск/вставку/удаление, т.е. нужна одновременно и гибкая, и производительная, и ресурсо-экономная структура данных для больших таблиц🧩

Сам я склонялся к применению разреженных матриц, но решил поискать альтернативы, и вот что нашлось (в т.ч. коллегами):
— ChatGPT сначала предлагала делать на TreeMap;
— потом всё же прониклась и тоже заговорила про матрицы, например, на библиотеке UJMP;
— мумбайские студенты взвешивают разные варианты, но вроде как приходят к выводу об оптимальности разреженных матриц;
— в исходниках OpenOffice чёрт ногу сломит, но как будто бы и они на том же пути.

Интересно, а есть ли другие подходы? 🤔
OpenGenus IQ: Learn Algorithms, DL, System Design Data Structure for Spreadsheet / Excel In this article, we have explored several Data Structures that are used in Spreadsheet / Excel Sheet. These involve ideas like Sparse Matrix, AVL Tree and much more.
  • 🤔 3
  • 🔥 1
More from @stopshelf
  1. Oct 4, 2026Post #487
  2. Oct 3, 2026Странный юмор
  3. Oct 2, 2026Post #485
  4. Sep 18, 2026#инструменты для презентаций на Markdown Сегодня нужно было по-быстрому сделать слайды для…
  5. Sep 14, 2026Post #483
  6. Aug 31, 2026Игровой портал в прошлое 🔮 Года полтора назад я захотел показать ребёнку игру моего детст…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →