مناسبة تماما لتنفيذ قواعد البيانات، وتستخدم هياكل البيانات في كل برنامج تقريبا أو نظام برمجيات هناك هياكل بيانات محددة تعتبر من المكونات الأساسية للكثير من الخوارزميات الفعالة، وتجعل من الممكن إدارة كميات ضخمة من البيانات، مثل قواعد البيانات الكبيرة وخدمات الفهرسة على الإنترنت
ما معني هذه الهياكل ؟
Array data structure ,Linked List ,Stack, Queues ,Sorting, Tree, Graph
هل لديك أسئلة لماذا يجب أن أدرس جميع الأشياء المعقدة إذا لم يكن لها أي فائدة على الإطلاق؟
لماذا تطرح الشركات أسئلة تتعلق بهياكل البيانات والخوارزميات إذا لم تكن مفيدة في العمل اليومي ؟
Array data structure ,Linked List ,Stack, Queues ,Sorting, Tree, Graph
هل لديك أسئلة لماذا يجب أن أدرس جميع الأشياء المعقدة إذا لم يكن لها أي فائدة على الإطلاق؟
لماذا تطرح الشركات أسئلة تتعلق بهياكل البيانات والخوارزميات إذا لم تكن مفيدة في العمل اليومي ؟
يتجنب الكثير من المبرمجين المبتدئين وذوي الخبرة تعلم هياكل البيانات والخوارزميات لأنها معقدة ويعتقدون أنه لا يوجد استخدام لجميع الأشياء المذكورة أعلاه في الحياة الواقعية لذا قبل أن نناقش الموضوع سنطرح عليك مشكلة بسيطة وتحتاج إلى إيجاد حل لذلك.
إذا كنت بحاجة إلى البحث عن رقم الملف الخاص بك في 20000 صفحة من مستند PDF كيف ستفعل ذلك؟
إذا كنت ستحاول البحث عنه بشكل عشوائي أو بطريقة متسلسلة ، فسوف يستغرق الأمر وقتًا طويلاً قد تشعر بالإحباط بعد مرور بعض الوقت كما يمكنك تجربة حل آخر
إذا كنت ستحاول البحث عنه بشكل عشوائي أو بطريقة متسلسلة ، فسوف يستغرق الأمر وقتًا طويلاً قد تشعر بالإحباط بعد مرور بعض الوقت كما يمكنك تجربة حل آخر
1- يمكنك البحث بعنوان الملف داخل الكتاب
2- يمكنك البحث عن كلمة فريدة داخل الملف تصل بها الي رقم الصفحة
3- يمكنك الإنتقال تلقائي الي الصفحة رقم 10000 إن ظننت أن الملف موجود بها
2- يمكنك البحث عن كلمة فريدة داخل الملف تصل بها الي رقم الصفحة
3- يمكنك الإنتقال تلقائي الي الصفحة رقم 10000 إن ظننت أن الملف موجود بها
هناك الكثير من الأمثلة التي يمكنك أن تجدها في حياتك اليومية لذلك إذا كنت تعتقد أن هذه المهارة مهمة فقط لتجاوز المقابلات مع الشركات البرمجية ، فأنت مخطأ تماما من المثال أعلاه ، يمكننا تقديم سببين لتعلم هياكل البيانات والخوارزميات >
١- إذا كنت تريد تجاوز المقابلات والدخول في الشركات والوظائف
٢- إذا كنت تحب حل المشاكل المعقدة في العالم الحقيقي
٢- إذا كنت تحب حل المشاكل المعقدة في العالم الحقيقي
هل تعلم أن جميع أوامر SQL و Linux عبارة عن خوارزميات وهياكل بيانات؟
قد لا تدرك ذلك ، ولكن هذه هي الطريقة التي يعمل بها البرنامج تلعب هياكل البيانات والخوارزميات دورًا رئيسيًا في تنفيذ البرامج وفي عملية التوظيف أيضًا لدى الكثير من الطلاب والمهنيين والسؤال هو >
قد لا تدرك ذلك ، ولكن هذه هي الطريقة التي يعمل بها البرنامج تلعب هياكل البيانات والخوارزميات دورًا رئيسيًا في تنفيذ البرامج وفي عملية التوظيف أيضًا لدى الكثير من الطلاب والمهنيين والسؤال هو >
لماذا تركز مقابلات هذه الشركات على الأسئلة حول هياكل البيانات والخوارزميات ؟
عندما تطلب من شخص اتخاذ قرار بشأن شيء ما ، سيتمكن الشخص الجيد من إخبارك "اخترت أن أفعل ( أ ) لأنه أفضل من ( ب ) في حياتنا اليومية ، نذهب دائمًا مع هذا الشخص الذي يمكنه إكمال المهمة في فترة قصيرة
عندما تطلب من شخص اتخاذ قرار بشأن شيء ما ، سيتمكن الشخص الجيد من إخبارك "اخترت أن أفعل ( أ ) لأنه أفضل من ( ب ) في حياتنا اليومية ، نذهب دائمًا مع هذا الشخص الذي يمكنه إكمال المهمة في فترة قصيرة
بكفاءة وباستخدام موارد أقل نفس الأشياء تحدث مع هذه الشركات المشكلة التي تواجهها هذه الشركات أصعب بكثير وعلى نطاق أوسع بكثير يتعين على مطوري البرامج أيضًا اتخاذ القرارات الصحيحة عندما يتعلق الأمر بحل مشاكل هذه الشركات.
إن معرفة هياكل البيانات مثل Hash Tables ، Trees ، Tries المختلفة ، تقطع شوطًا طويلاً في حل هذه المشكلات بكفاءة ويهتم القائمون بالمقابلات أكثر بمعرفة كيفية استخدام المرشحين لهذه الأدوات لحل مشكلة ما تمامًا مثلما يحتاج ميكانيكي السيارات إلى الأداة المناسبة لإصلاح السيارة وتشغيلها
بشكل صحيح ، يحتاج المبرمج إلى الأداة الصحيحة (الخوارزمية وهيكل البيانات) لجعل البرنامج يعمل بشكل صحيح لذلك يريد القائم بإجراء المقابلة العثور على مرشح يمكنه تطبيق المجموعة الصحيحة من الأدوات لحل المشكلة المحددة
مثال:
افترض أنك تعمل في شركة Facebook لقد توصلت إلى حل أمثل لمشكلة ( مثل فرز قائمة مستخدمين من الهند ) الآن ربما تكون قد حصلت تلك الشركات علي توظيف مطور ذكي يمكنه اتخاذ القرار الصحيح وتوفير موارد الشركة والوقت والمال لذا قبل إعطاء الحل لمشكلة معينة ،
افترض أنك تعمل في شركة Facebook لقد توصلت إلى حل أمثل لمشكلة ( مثل فرز قائمة مستخدمين من الهند ) الآن ربما تكون قد حصلت تلك الشركات علي توظيف مطور ذكي يمكنه اتخاذ القرار الصحيح وتوفير موارد الشركة والوقت والمال لذا قبل إعطاء الحل لمشكلة معينة ،
يجب عليك التفكر في المقياس الكبير وجميع سيناريوهات الحالة بعناية لأنه من الممكن أن تنمي إيرادات الشركة أو يمكن أن تخسر الشركة مبلغًا ضخمًا من المال.
بعض المشاكل المعقدة في العالم الحقيقي التي تطبق مففهوم هياكل البيانات .
هل سبق أن وبخك والديك عندما لم تتمكن من العثور على كتابك أو ملابسك في غرفتك ؟ بالتأكيد نعم ... يكون والداك على حق عندما يقدمان النصيحة للحفاظ على كل شيء في المكان المناسب ، تضع الملابس في دولاب الملابس ،
هل سبق أن وبخك والديك عندما لم تتمكن من العثور على كتابك أو ملابسك في غرفتك ؟ بالتأكيد نعم ... يكون والداك على حق عندما يقدمان النصيحة للحفاظ على كل شيء في المكان المناسب ، تضع الملابس في دولاب الملابس ،
وتضع الكتب في المكتبة ، حتى تتمكن في المرة القادمة من الحصول على أغراضك بسهولة هنا تحتاج إلى ترتيب كل شيء كذلك الحال في ( البيانات ) والاحتفاظ بها في هيكل بيانات مناسب لها كلما احتجت إلى البحث عن شيء ما ، تحصل عليه بسهولة وبأسرع وقت ممكن
يعطي هذا المثال السابق فكرة واضحة عن مدى أهمية ترتيب البيانات أو هيكلتها في الحياة الواقعية.
الآن خذ مثال المكتبة
إذا كنت بحاجة إلى العثور على كتاب حول Set Theory من مكتبة ، فستنتقل إلى قسم الرياضيات أولاً ، ثم قسم Set Theory إذا لم يتم تنظيم هذه الكتب بهذه الطريقة وتم توزيعها بشكل عشوائي ، فسيكون من المحبط العثور على كتاب معين
إذا كنت بحاجة إلى العثور على كتاب حول Set Theory من مكتبة ، فستنتقل إلى قسم الرياضيات أولاً ، ثم قسم Set Theory إذا لم يتم تنظيم هذه الكتب بهذه الطريقة وتم توزيعها بشكل عشوائي ، فسيكون من المحبط العثور على كتاب معين
تشير هياكل البيانات إلى الطريقة التي ننظم بها المعلومات على جهاز الكمبيوتر الخاص بنا ، علماء الكمبيوتر يبحثون عن أفضل طريقة لتنظيم البيانات التي لدينا ، بحيث يمكن معالجتها بشكل أفضل بناءً على المدخلات المقدمة.
لدى الكثير من المبرمجين المبتدئين هذا السؤال
لماذا نستخدم جميع عناصر بنية البيانات والخوارزمية في حياتنا اليومية وكيف تكون مفيدة في حل مشكلة معقدة في العالم الحقيقي ؟
لماذا نستخدم جميع عناصر بنية البيانات والخوارزمية في حياتنا اليومية وكيف تكون مفيدة في حل مشكلة معقدة في العالم الحقيقي ؟
نحتاج أن نذكر أنه سواء كنت مهتمًا بالانضمام إلى أكبر شركات التكنولوجيا العملاقة أم لا ، فإن هياكل البيانات لاتزال تساعدنا كثيرًا في حياتك اليومية ألا تصدقنا ... دعونا ننظر في بعض الأمثلة ...
فيس بوك ( التطبيق المفضل لديك ) هل يمكنك أن تتخيل أن أصدقاءك على Facebook وأصدقاء الأصدقاء والأصدقاء المشتركين يمكن تمثيلهم جميعًا بسهولة بواسطة هيكل بيانات Graph ؟ استرخ ... اجلس لبضع لحظات وفكر مرة أخرى ... يمكنك تطبيق الرسم البياني لتمثيل اتصال الأصدقاء على facebook.
إذا كنت بحاجة إلى الاحتفاظ بمجموعة أوراق اللعب وترتيبها بشكل صحيح ، فكيف ستفعل ذلك؟ سوف ترميها بشكل عشوائي أو ستقوم بترتيب البطاقات واحدة فوق الأخرى ومن مجموعة مناسبة يمكنك استخدام هيكل Stack هنا لعمل ترتيب مناسب للبطاقات واحدة على الأخرى.
إذا كنت بحاجة إلى البحث عن كلمة في القاموس ، فما هو نهجك؟ هل تذهب وتفتح صفحة بصفحة أو تفتح بعض الصفحات وإذا لم يتم العثور على الكلمة ، فتفتح صفحة أخري لاحقا بناءً على ترتيب الكلمة في الصفحة الحالية هذه هي (Binary Search) خوارزمية البحث الثنائي التي تجد موضع القيمة المستهدفة
الفائدة
المثالان الأولان كانا مثالاً جيدًا لاختيار بنية البيانات الصحيحة لمشكلة في العالم الحقيقي ، والثالث مثال جيد لاختيار الخوارزمية الصحيحة لحل مشكلة معينة في وقت أقل ، تمنحك جميع الأمثلة المذكورة أعلاه فهمًا واضحًا لمدى أهمية تنظيم البيانات في حياتنا اليومية ،
المثالان الأولان كانا مثالاً جيدًا لاختيار بنية البيانات الصحيحة لمشكلة في العالم الحقيقي ، والثالث مثال جيد لاختيار الخوارزمية الصحيحة لحل مشكلة معينة في وقت أقل ، تمنحك جميع الأمثلة المذكورة أعلاه فهمًا واضحًا لمدى أهمية تنظيم البيانات في حياتنا اليومية ،
يعد ترتيب البيانات في بنية معينة مفيدًا حقًا في توفير الكثير من الوقت ويصبح من السهل معالجتها أو استخدامها ، الشيء نفسه ينطبق على الخوارزمية كلنا نريد توفير وقتنا وطاقتنا ومواردنا
نريد جميعًا اختيار أفضل طريقة لحل المشكلات في حياتنا اليومية توجد الكثير من المشكلات في العالم والتي قد تستغرق ساعات أو أيامًا لحلها باستخدام الحل الأصلي ، وقد يستغرق الأمر أيضًا سنوات! هل يمكنك أن تتخيل! شاهد هذا الفيديو :
youtube.com
youtube.com
تساعد بنية البيانات والخوارزميات في فهم طبيعة المشكلة على مستوى أعمق وبالتالي فهم أفضل للعالم.
إذا كنت تريد معرفة المزيد عن لماذا هياكل البيانات والخوارزميات ، فيجب عليك مشاهدة هذا الفيديو للسيد سانديب جين (الرئيس التنفيذي والمؤسس لموقع ، GeeksforGeeks)
youtube.com
إذا كنت تريد معرفة المزيد عن لماذا هياكل البيانات والخوارزميات ، فيجب عليك مشاهدة هذا الفيديو للسيد سانديب جين (الرئيس التنفيذي والمؤسس لموقع ، GeeksforGeeks)
youtube.com
مصادر الموضوع
geeksforgeeks.org
geeksforgeeks.org
للقراءة علي الموقع
pglovers.com
pglovers.com
جاري تحميل الاقتراحات...