تعد هياكل البيانات والخوارزميات (DSA) واحدة من أهم موضوع في علوم الكمبيوتر التي يجب أن يكون كل طالب من طلاب CS يتقنهم ويجب أن يكون لدى الطلاب من غير CS فهمًا أساسيًا له. يقال أن DSA مثل الخبز والزبدة ، ضرورة CS. تم صنع هذا المستودع لهؤلاء الطلاب (مثلي؟) الذين يتوقون إلى التعلم ويريدون تنفيذ هياكل البيانات والخوارزميات.
لن أختلف في أن C أو C ++ أو Java لن تكون لغة رائعة لتنفيذ DSA حيث يتعين على المرء أن يعتني بأشياء كبيرة أثناء كتابة التعليمات البرمجية مثل التخصيصات الذاكرة والتخفيضات المناسبة والقيام بذلك يتعلم الكثير.
ومع ذلك ، فإن السبب في أن GO سيكون أيضًا لغة جيدة لتنفيذ DSA هو أنها تفتقر إلى الكثير من السحر. لا يوجد زيادة في التحميل ، لذلك لا توجد طريقة لإخفاء التعقيد الإضافي. عملية الفهرس هي o (1) ، حلقة هي o (n) - دائما. لا توجد جماهير ، لذا فإن الكثير من التجريدات والمساعدين الإضافيين غير موجودين ، وهو أمر رائع في الواقع. لا يوجد أي كسل أو سحر آخر يحركه البرامج المترجم والذي قد يغير وقت تشغيل الخوارزميات الخاصة بك بشكل كبير. و GO يحتوي على مؤشر وبدائل من المستوى المنخفض للشرائح ، مما يعني أنه يتضح عندما تكون البيانات معبأة أو عندما يكون للبيانات عدم توجيه إضافي. باختصار : اذهب ، قم بإجراء التنفيذ الخوارزمي الفعلي واضح من الكود ، وهو أمر جيد لتعلم الخوارزميات.
الخلاصة : ستكون GO أيضًا لغة جيدة للبدء في تنفيذ هياكل البيانات والخوارزميات.
cd <folder-name> في المجلد حيث يوجد الملف الذي تريد تشغيله.go run . . دعنا نفترض أنك تريد تشغيل ملفات موجودة في graphs/directed_unweighted ثم بناء الجملة لتشغيله سيكون:
cd graphs/directed_unweighted/
go run .
ملاحظة : المؤشر ": point_left:" يشير إلى التنفيذ غير المكتمل وهو في قائمة TODO.
هذا المستودع هو تعلم كيفية تنفيذ هياكل البيانات والخوارزميات ، وبما أن مساهمات الآخرين لن تعلمني حقًا كيفية تنفيذها بنفسي ، فلن أقبل أي طلبات سحب. ومع ذلك ، لا تتردد في توتر هذا الريبو وتعديل الكود للعب حول مختلف هياكل البيانات والخوارزميات. علاوة على ذلك ، أثناء اللعب حول الكود ، إذا وجدت أي شيء غير عادي أو خطأ في التنفس ، فسأقدر بشدة إذا قمت بإنشاء مشكلة على نفسه.
يتم إصدار هذا المستودع بموجب ترخيص معهد ماساتشوستس للتكنولوجيا. باختصار ، هذا يعني أنك حر في استخدام هذا البرنامج في أي مشاريع شخصية أو مفتوحة أو تجارية. الإسناد اختياري ولكن موضع تقدير.
HAPPY CODING
HAPPY LEARNING