من أين أبدأ من ال Algorithms أم من ال Data structures ؟

السلام عليكم و رحمة الله و بركاته .

لا يخفى على أحد أهمية أن يكون المبرمج على علم بال Algorithms و ال Data structures

ليكون قادر على حل المشكلات بشكل أفضل و صناعة تطبيقات بأداء ممتاز .

لذلك أول سؤال يواجه من يريد التعلم هو من أين أبدأ التعلم ؟

الخوارزميات أولاً أم تراكيب البيانات و ما الذى يليهم ؟

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

تراكيــب أو هيكلة البيانات Data Structure هي جزء من الخوارزميــّــات Algorithms. فعندمــا تبداء في تعلــم الخوارزميــات لابــد أن تصــل إلى هيكلــة البيانات.

فمــثلاً Binary Search Tree(BST) معروفة من أساليــب هيكلــة البيانـــات التــي تتمثــل بخوارزميــتي الإضــافة Insert و والاســـترداد Retrieve. كذلـــك Stack و Queue و Linked List هما خوارزميــات بالأصــل.

بإختصــار، إذا كان هنـــاك كتــاب للخوارزميــات لابــد أن تجــد فصــل في هــذا الكتــاب يفصـــّـل هيكلة البيـــانات. وكــنصيحـــة، إذا كنت تهتــم بهذه العلــوم بهدف البرمجــة تعلـــّـم أساسيــّـات التصميـــم و البرمجة الكائنيـــة Object oriented design fundamentals ستســاعدك كثيــراً في الفهــم والتطبيــق.

هل يمكن البدأ في مفاهيم "Data Structure و Algorithms" بخبرة بسيطة في البرمجة؟ أم يجب علي معرفة كبيرة بالبرمجة مثلاُ خبرة 3 سنوات على الأقل؟

وهل فعلاً نمط الـOOP مطلوب معرفته لكي أفهم هياكل البيانات والخوارزميات؟

independent أضف ردا

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

لتسهيـــل تعلــم الخوارزميــات، أرى أنـــه من الأفضــل والأســرع في التعــلم، كســب المهــارات الأساسيـــة في البرمجــــة من ضمنهـــا أساسيـــات البرمجــة الكائنيــة التوجـّـه (OOP). فكســب تلــك المهــارات الأساسيــة قبـل تعلـّم الخــوارزميــات يفيــد على جهــتين:

الأولــى، تساعـــد على فهــم أسرع للخوارزميـــات وتطبيقــها.

والثــانية، الخوارزميـــّـات تــُكمــِل ما نقــص عليك فهمــه من منــطق البرمجـــة.

ali_ahmed أضف ردا

شكراً لك كثيرًا على التوضيح، وآخيرًا لو سمح وقتك صديقي، هل يمكنك إقتراح كتاب بسيط في تعلم الخوارزميات

-كتاب قرأته انت شخصيًا- يكون موجه للمبتدئين ؟ كتاب عربي أو إنجليزي (أُفضِّل انجليزي).

مرحبــا، هنــاك كتـــب لكن أفضــلها مدفوع، هنــا دورة وجدتها للتــو مقدمة من جامعة Stanford لعلها تفيــدك

https://lagunita.stanford.e...

أما بالنسبــة للكتب قرأت هذا الكتــاب، قديم:

The Design and Analysis of Computer Algorithms

وقرأت جزءاً يسيراً من هذا ايضاً لنفس المؤلف:

Data Structures and Algorithms

اذا دخلت في مجال الـ OOP من الاحسن ايضا ان تتعلم الـ Design patterns

يبدو انك اغضبت احدهم، و بدأ بهجوم تسليب عشوائي على كل تعليقاتك

يامصطفــى هنــاك بشـر تصرفــاتهم تجعلــني أشعر أن الروبوت يعــي ذاتــه

السلام عليكم

لقد درست في الجامعة تخصص "معلوماتية إدارية" في كلية إدارة الأعمال

في السنة الثانية الفصل الأول، تم الاختيار لكل من يريد التسجيل في تخصص المعلوماتية عليه ان يأخذ مادة Concept of Algorithm

ثم في الفصل الثاني أصبحت مادة Data Structure مادة أساسية لطلاب المعلوماتية

اتبع هذا المنهج

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

يمكنك البدء بمراجعة هذا المقال الذي يضم شرحًا مفصلًا عن الموضوع.