سؤال

هل يمكن لأي شخص أن يعطيني إشارات إلى موقع ويب يحتوي على ملخص لهياكل بيانات Java الرئيسية، وتعقيد كل منهما في الوقت المناسب (لبعض عمليات معينة مثل إضافة، ابحث، إزالة)، على سبيل المثال HashtableS هي O (1) للعثور، في حين LinkedListS هي O (ن). بعض التفاصيل مثل استخدام الذاكرة سيكون لطيفا أيضا.

سيكون هذا مفيدا حقا للتفكير في هياكل البيانات للخوارزميات.

هل كانت مفيدة؟

المحلول

هل هناك سبب للاعتقاد بأن تنفيذ جافا يختلف (من حيث التعقيد) من تنفيذ عام أو نا ناهي اللغة؟ وبعبارة أخرى، لماذا لا تشير فقط إلى مرجع عام على تعقيد هياكل البيانات المختلفة:

قاموس NIST الخوارزميات وهياكل البيانات

ولكن، إذا كنت تصر على جافا الخاصة:

هياكل البيانات القياسية Java تدوين كبير

مجموعات Java Dechsheet V2 (رابط ميت، ولكن هذه هي النسخة الأولى من الغش)

نصائح أخرى

نظرة عامة لمجموعات Java الأكثر شمولية هنا

http://en.wikiversity.org/wiki/java_collections_overview.

لقد وجدت مفيدة جدا إطار المجموعات الصفحة، expecially الخطوط العريضة لإطار المجموعات, ، حيث يتم وصف كل واجهة / فئة ببراعة. لسوء الحظ، لا توجد معلومات كبيرة.

لم أستطع رؤية هذا المورد المحدد المذكور هنا، لقد وجدت أنه من الاستخدام الرائع في الماضي. تعرف تعقيداتك!

http://bigocheatsheet.com/

يجب أن تتوافق تعقيدات الوقت والفضاء لفئات المجموعات الرئيسية مع هياكل البيانات تعقيد الوقت المعروف. لا أعتقد أن هناك أي شيء محدد جافا حوله، على سبيل المثال (كما تقول) يجب أن يكون بحث التجزئة O (1). هل يمكن أن ننظر هنا أو هنا.

لا أعتقد أن هناك أي موقع واحد يحدد هذا (يبدو وكأنه فكرة جيدة للمشروع رغم ذلك). أعتقد أن جزءا من المشكلة هو أن الفهم في كيفية تشغيل كل خوارزميات مهمة للغاية. بالنسبة للجزء الأكبر، يبدو أنك تفهم Big-o، لذلك أود استخدام ذلك كأفضل تخميناتك. اتبع ذلك مع بعض المعايير / التنميط لمعرفة ما يدير أسرع / أبطأ.

ونعم مستندات جافا يجب أن يكون لديك الكثير من هذه المعلومات في java.util.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top