Статистичні показники суто функціональних карт і наборів


74

Враховуючи специфікацію структури даних, таку як чисто функціональна карта з відомими межами складності, потрібно вибирати між кількома реалізаціями. Існує деякий фольклор про те, як вибрати правильний, наприклад, червоно-чорні дерева вважаються загалом швидшими, але дерева AVL мають кращі показники на робочих навантаженнях з великою кількістю пошуків.

  1. Чи існує систематична презентація (опублікована стаття) цих знань (що стосується наборів / карт)? В ідеалі я хотів би, щоб статистичний аналіз проводився на реальному програмному забезпеченні. Можна зробити висновок, наприклад, що існує N типових видів використання карт, і перерахувати розподіл вхідних ймовірностей для кожного.

  2. Чи існують систематичні тести, які перевіряють карту та встановлюють ефективність для різних розподілів вхідних даних?

  3. Чи існують реалізації, які використовують адаптивні алгоритми для зміни представлення залежно від фактичного використання?



2
@RobertHarvey, так, у мене є копія. У ньому є чудовий матеріал для проектування PFDS та аналізу складності. У ньому також є деякі підказки для практиків (фольклор, про який говорилося вище). Однак я шукаю більш емпіричні дані та / або статистичний аналіз реальних моделей використання.
t0yv0

7
Це здається цікавим запитанням, але я не впевнений, що тут це тема. Він надзвичайно локалізований, в тому сенсі, що ви в основному сподіваєтесь, що тут хтось натрапить, що випадково знає про газету, яка розповідає про це (це canihazresourcezпитання, іншими словами, пошук в Інтернеті з використанням натовпу). У будь-якому випадку, побіжний пошук Google придумує таке: citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.35.9196
Роберт Харві,


Відповіді:


4

В основному це теми досліджень, і результати, як правило, подаються у формі висновків, тоді як статистичні дані приховані. Хоча можна провести статистичний аналіз власних даних.

Для орієнтирів краще ознайомитись із деталями впровадження.

Третя частина запитання є дуже суб’єктивною, і фактичні наміри можуть ніколи не бути відомими на момент реалізації. Однак такі мови, як perl, роблять все можливе, щоб впровадити високооптимізовані рішення для кожної операції.

Можливо, вам допоможе наступне: Чисто функціональні структури даних від Кріса Окасакі http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.