Jgrapht: أكوام أخرى؟

تم إنشاؤها على ٢٨ يوليو ٢٠١٨  ·  14تعليقات  ·  مصدر: jgrapht/jgrapht

في تطبيق Blossom V الخاص بـ Kolmogorov ، وجد Toptachamann أن PairingHeap و CostlessMeldPairingHeap اللذان تم jheaps ، أفضل بكثير من FibonacciHeap المطبق حاليًا (لحالة الاستخدام المحددة هذه). ومع ذلك فمن المحتمل أن يتفوقوا على فيبوناتشي هيب بشكل عام.

هل سيكون من الجيد نقل تنفيذ @ d-michail إلى هذه المكتبة؟ ما هو المعنى العام هنا؟

التعليق الأكثر فائدة

من الأنظف الحفاظ على إضافة التبعيات من التشابك مع العلاقات العامة العملاقة ، في حالة احتياج أحدهما أو الآخر إلى التراجع لاحقًا لأي سبب من الأسباب.

ال 14 كومينتر

أنا لست مغرمًا حقًا بـ "النقل" والذي يعني في الأساس نسخ ولصق تطبيق شخص ما. في حالة وجود لغة برمجة مختلفة ، قد يكون من المنطقي ، على افتراض بالطبع الاحتفاظ بجميع حقوق النشر وملاحظات المؤلف واحترام التراخيص.

نظرًا لأن jheaps مكتوب بلغة Java ، يمكننا استخدام الأكوام باستخدام التبعية المخضرمة.

jsichi ، jkinable ما رأيك في هذا؟ هناك فائدتان لاستخدام jheaps:

  • هناك واجهة رائعة للكومة ، مما يعني أنه يمكنك تبديلها بسهولة. هذا يعني أنه يمكننا أيضًا السماح لمستخدم الخوارزمية بتبديل التنفيذ.
  • يحتوي أيضًا على أكوام monotone (أكوام جذرية للمفاتيح المزدوجة على سبيل المثال) والتي من شأنها تسريع Dijkstra بشكل كبير.

أنا على ما يرام مع إضافة التبعية ، خاصة بالنظر إلى التأليف :) أعتقد أن هذا يعني أنه يمكننا التخلص من GenericFibonacciHeap ، وفي النهاية FibonacciHeap بعد اختبار الأداء كما اقترحه simlu

شكرا للردود سريعة! منطقي تماما بالنسبة لي!

أود حقًا أن يحدث هذا قبل دمج https://github.com/jgrapht/jgrapht/pull/595 . ما الذي سيكون مطلوبًا هنا (لست على دراية بهذا الأمر)؟ هل نحن فقط قائمة على أنها تبعية؟

سيحتاج شخص ما إلى تقديم علاقات عامة لإضافة التبعية في pom.xml الخاص بـ jgrapht-core واستبدال استخدام واحد على الأقل من استخدام GenericFibonacciHeap لممارسة التبعية. هناك أيضًا بعض ملفات المستندات والحزم الأخرى التي تحتاج إلى تحديث لتوثيق التبعية الجديدة.

سأفعل ذلك إما من أجل خوارزمية مطابقة الحد الأقصى للوزن الثنائي ، أو دع Toptachamann يقوم بذلك مباشرة في # 595.

لقد أضفت هذه التبعية إلى jgrapht-core pom واستخدمت أكوام الاقتران. هل يجب أن أقوم بتعديل خوارزمية مطابقة الوزن القصوى للجزءين؟

سيكون من الأفضل القيام بذلك في العلاقات العامة الخاصة به حتى نتمكن من دمج ذلك بمفرده ، ومن ثم يمكن لـ Toptachamann إعادة اتخاذ قرار بشأن ذلك.

jsichi هل هذا ضروري حقًا؟ يبدو التغيير طفيفًا جدًا ويتم اختباره في prossom pr بالفعل. بالنظر إلى سبب إضافة التبعية.

يعتمد الأمر حقًا على مقدار العمل المطلوب لاستبداله بالزوج. إذا كان هناك الكثير من العمل فأنا ضد العلاقات العامة الجديدة. على خلاف ذلك متأكد

من الأنظف الحفاظ على إضافة التبعيات من التشابك مع العلاقات العامة العملاقة ، في حالة احتياج أحدهما أو الآخر إلى التراجع لاحقًا لأي سبب من الأسباب.

لا ترى أي مشكلة في إعادة التأسيس بعد دمج العلاقات العامة لإضافة التبعية ، خاصةً لأنه في خوارزمية تدفق التكلفة الدنيا ، أستخدم كومة Fibonacci لخوارزمية Dijkstra وأود استبدالها بكومة الاقتران.

@ d-michail ربما تكون أفضل شخص يضيف التبعية ، لذا يرجى المضي قدمًا في ذلك

simlu يمكننا إغلاق هذا الآن أليس كذلك؟ (تم دمج # 652.) هناك حاجة إلى بعض أعمال المتابعة للاستخدامات المتبقية لـ FibonacciHeap (أعتقد أنه يمكننا حذف GenericFbionacciHeap بالفعل نظرًا لأن جميع استخدامات ذلك قد ولت الآن).

jsichi هل ننشئ تذكرة منفصلة لذلك؟ إذا كان الأمر كذلك يمكن إغلاق هذا بالتأكيد!

شكرا لكم جميعا على العمل الشاق!

فتح # 666 للمتابعة. : معدن:: smiling_imp:

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات