Ali Ahmed6 نشر 1 ديسمبر 2023 أرسل تقرير نشر 1 ديسمبر 2023 (معدل) السلام عليكم اي الفرق بين الدله sort الموجود فيه باثيون و بين خورزميات bubble sort او selection sort ؟ وانا كامبرمج استخدم اي ؟ تم التعديل في 1 ديسمبر 2023 بواسطة Mustafa Suleiman تعديل عنوان السؤال 1 اقتباس
0 Mustafa Suleiman نشر 1 ديسمبر 2023 أرسل تقرير نشر 1 ديسمبر 2023 الدالة sort تستخدم خوارزميات فعالة للفرز تعتمد على الأداء، مثل Timsort. و Timsort هي خوارزمية مركبة تجمع بين خصائص خوارزميات الفرز الدمجي (Merge Sort) والفرز الإدراجي (Insertion Sort)، مما يجعلها فعالة في معالجة مجموعات البيانات المختلفة. بالمقابل، خوارزميات الفرز مثل Bubble Sort وSelection Sort تعتبر أبسط ولكنها أقل فعالية من حيث الأداء، خاصة عند التعامل مع مجموعات بيانات كبيرة. لذا، عندما تحتاج إلى فرز مجموعة صغيرة من البيانات أو عامل الوقت (الأداء) أمرًا ثانويًا، بإمكانك استخدام أيِ من Bubble Sort أو Selection Sort. ولكن في معظم الحالات، يُفضل استخدام الدالة sort في Python التي تستند إلى Timsort، خاصةً عند التعامل مع مجموعات بيانات كبيرة. حيث تشترك خوارزميات bubble sort و selection sort في نفس تعقيد الوقت في أسوأ الحالات، وهو O(n^2)، مما يعني أن عدد العمليات التي يتعين القيام بها لفرز المصفوفة يتناسب مع مربع حجم المصفوفة. بينما، تتمتع الدالة sort بأداء أفضل بكثير، حيث تعتمد على خوارزمية أكثر تعقيدًا، ولكنها أكثر فعالية، وتعقيد الوقت في أسوأ الحالات للدالة sort هو O(n log n)، أي أن عدد العمليات التي يتعين القيام بها لفرز المصفوفة يتناسب مع حاصل ضرب حجم المصفوفة وسجل حجم المصفوفة. 1 اقتباس
0 Ali Ahmed6 نشر 1 ديسمبر 2023 الكاتب أرسل تقرير نشر 1 ديسمبر 2023 بتاريخ 3 دقائق مضت قال Mustafa Suleiman: الدالة sort تستخدم خوارزميات فعالة للفرز تعتمد على الأداء، مثل Timsort. و Timsort هي خوارزمية مركبة تجمع بين خصائص خوارزميات الفرز الدمجي (Merge Sort) والفرز الإدراجي (Insertion Sort)، مما يجعلها فعالة في معالجة مجموعات البيانات المختلفة. بالمقابل، خوارزميات الفرز مثل Bubble Sort وSelection Sort تعتبر أبسط ولكنها أقل فعالية من حيث الأداء، خاصة عند التعامل مع مجموعات بيانات كبيرة. لذا، عندما تحتاج إلى فرز مجموعة صغيرة من البيانات أو عامل الوقت (الأداء) أمرًا ثانويًا، بإمكانك استخدام أيِ من Bubble Sort أو Selection Sort. ولكن في معظم الحالات، يُفضل استخدام الدالة sort في Python التي تستند إلى Timsort، خاصةً عند التعامل مع مجموعات بيانات كبيرة. حيث تشترك خوارزميات bubble sort و selection sort في نفس تعقيد الوقت في أسوأ الحالات، وهو O(n^2)، مما يعني أن عدد العمليات التي يتعين القيام بها لفرز المصفوفة يتناسب مع مربع حجم المصفوفة. بينما، تتمتع الدالة sort بأداء أفضل بكثير، حيث تعتمد على خوارزمية أكثر تعقيدًا، ولكنها أكثر فعالية، وتعقيد الوقت في أسوأ الحالات للدالة sort هو O(n log n)، أي أن عدد العمليات التي يتعين القيام بها لفرز المصفوفة يتناسب مع حاصل ضرب حجم المصفوفة وسجل حجم المصفوفة. تمام , الله ينور عليك بس سوال يعني هو انا ممكن اتعلم خورزميات Timsort ؟ اقتباس
0 Mustafa Suleiman نشر 1 ديسمبر 2023 أرسل تقرير نشر 1 ديسمبر 2023 بالطبع ابحث عن Timsort algorithm ويوجد لها شرح بالإنجليزية فقط. 1 اقتباس
0 عمار معلا نشر 1 ديسمبر 2023 أرسل تقرير نشر 1 ديسمبر 2023 بتاريخ 7 ساعة قال Ali Ahmed6: السلام عليكم اي الفرق بين الدله sort الموجود فيه باثيون و بين خورزميات bubble sort او selection sort ؟ وانا كامبرمج استخدم اي ؟ وعليكم السلام ورحمة الله، بالنسبة للتابع sort المعرف في لغة بايثون تستطيع استخدامه بكل راحة حيث يقوم فريق بايثون ببناء التوابع المعرفة ضمن اللغة بأقل زمن تعقيد هذا يعني أن sort معرف في اللغة في تعقيد زمني n logn وهذا افضل من زمن الخوارزميتان الموجودين في سؤالك، انت ستقوم باستخدام هذا التابع الجاهز sort أو sorted ولكن من المهم دراسة خوارزميات الترتيب وكيف تقوم بتحسين عملية الترتيب لأنك من الممكن أن تقوم باستخدام الباترنز التي تعتمد عليها هذه الخوارزميات في حل مشكلة اخرى وهذا سوف يحدث معك مرارا وتكرارا 1 اقتباس
0 محمد سعد شحرور نشر 2 ديسمبر 2023 أرسل تقرير نشر 2 ديسمبر 2023 وعليكم السلام، أهلا بك صديقي. في البداية، الفرق بين خوارزميات ال bubble sort وال selection sort بشكل عام ليس بكبير، حيث أن الخوازرميتان تستخدمان لغايات تعليمية في الغالب، وكلاهما يملكان درجة تعقيد من الرتبة O^2، أي أنهما غير مناسبتان أبدا لترتيب بيانات ضخمة، وليستا فعالتان في التطبيقات العملية مثل غيرهما من الخوارزميات. أما ال sort التي تستخدم في python وغيرهها من اللغات، فهي في الحقيقة خوارزمية TrimSort الهجينة من عدة خوارزميات ترتيب أخرى، وهي رغم صعوبة فهمها، فهي أكثر كفاءة وسرعة من الخوارزميتين السابقتين ومرنة لترتيب البيانات الضخمة والصغيرة، لذلك هي مرشحة للاستخدام في التطبيقات العملية لسرعتها وكفاءتها. اقتباس
0 عبدالباسط ابراهيم نشر 3 ديسمبر 2023 أرسل تقرير نشر 3 ديسمبر 2023 بالإضافة للشرح السابق يعتبر Bubble Sort وSelection Sort خوارزميتان تكراريتان، مما يعني أنهما يقسمان المشكلة إلى أجزاء أصغر ويحلونها بشكل متكرر. في حالة Bubble Sort، يتم مقارنة كل عنصرين متتاليين في المصفوفة، ويتم تبديلهما إذا كان العنصر الأول أكبر من العنصر الثاني. تستمر هذه العملية حتى يتم ترتيب المصفوفة بالكامل. دالة sort في Python هي خوارزمية مركبة، مما يعني أنها تتكون من خوارزميات أخرى. في حالة دالة sort في Python، فإنها تستخدم خوارزميات الفرز الدمجي والفرز الإدراجي. تمتلك خوارزميات الفرز الدمجي وقت تشغيل خطي في المتوسط، مما يعني أنها أسرع بكثير من Bubble Sort وSelection Sort في معظم الحالات. و تمتلك خوارزميات الفرز الإدراجي وقت تشغيل خطي في المتوسط، ولا تتطلب مساحة تخزين إضافية. ومع ذلك، فهي أقل فعالية من خوارزميات الفرز الدمجي في معظم الحالات. لذلك دالة sort في Python تختار خوارزمية الفرز المناسبة بناءً على حجم المصفوفة. بالنسبة للمصفوفات الصغيرة، تستخدم دالة sort خوارزمية الفرز الإدراجي. و بالنسبة للمصفوفات الكبيرة، تستخدم دالة sort خوارزمية الفرز الدمجي. اقتباس
السؤال
Ali Ahmed6
السلام عليكم
اي الفرق بين الدله sort الموجود فيه باثيون و بين خورزميات bubble sort او selection sort ؟
وانا كامبرمج استخدم اي ؟
تم التعديل في بواسطة Mustafa Suleimanتعديل عنوان السؤال
7 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.