■ هي وحدة تخزين تُستخدم لتخزين البيانات وتنظيمها.
■ إنها طريقة لترتيب البيانات على جهاز الحاسوب بحيث يمكن الوصول إليها وتحديثها بكفاءة .وتستخدم أيضا في معالجة واسترجاع وتخزين البيانات. ■ هناك أنواع مختلفة من تراكيب البيانات (أساسية ومتقدمة) والتي يتم استخدامها تقريبًا في كل برنامج أو نظام برمجي تم تطويره .لذلك يجب أن يكون لدينا معرفة جيدة بهياكل البيانات. ■ تعد تراكيب البيانات جز ًءا ال يتجزأ من أجهزة الحاسوب حيث تستخدم لترتيب البيانات في الذاكرة .فهي ضرورية جدا وهى المسؤولة عن تنظيم البيانات ومعالجتها والوصول إليها وتخزينها بكفاءة. ■ لكن هذا ليس كل شيء .األنواع المختلفة من تراكيب البيانات لها خصائصها وميزاتها وتطبيقاتها ومزاياها وعيوبها. لماذا نتعلم تراكيب البيانات؟ كيف يمكنك تحديد تراكيب البيانات المناسبة لمهمة معينة؟
ما المقصود بمصطلح
"تراكيب البيانات"؟
كم عدد أنواع تراكيب
البيانات الموجودة وما هي استخدامها؟ يتبع ...لماذا نتعلم تراكيب البيانات؟ ■ نظرا لزيادة تعقيد التطبيقات ووفرة البيانات ،فان هناك 3مشاكل تطبيقية عامة تواجهنا هذه األيام والتي تستوجب إيجاد حل لها: .1بحث البيانات. .2سرعة المعالجة. .3الطلبات المتعددة. ■ عليه فإن تراكيب البيانات ( )Data Structureتعمل على تنظيم البيانات في الذاكرة والتقليل من هذه المشاكل. ■ فاختيار تراكيب بيانات غير مناسبة يؤدي إلى خوارزمية عالية التعقيد والعكس صحيح ،فاالختيار الجيد لتراكيب البيانات يؤدي إلى خوارزمية سهلة التنفيذ ومناسبة بشكل كبير. كيف تختلف تراكيب البيانات عن نوع البيانات؟ تراكيب البيانات نوع البيانات Data Structure Data Type هي مجموعة من أنواع مختلفة من البيانات .يمكن تمثيل هو شكل المتغير الذي تحدد نوع بياناته حسب القيمة التي تلك البيانات بأكملها باستخدام كائن ( )objectبحيث ستخصص له فقط. يمكن استخدامه في أي مكان من البرنامج. يمكن أن تحتوي على أنواع عديدة من البيانات داخل كائن يمكن أن تحتوي على قيمة وال تحتوي على بيانات واحد. ( .)dataولذلك ،فهي بال بيانات (.)dataless يعرف تنفيذ تراكيب البيانات بالتنفيذ (الملموس) الواقعي يعرف تنفيذ نوع البيانات داخل البرنامج بالتنفيذ المجرد ()concrete implementation ()abstract implementation من الضروري والمهم قياس األداء الزمني ( time ال نحتاج لتقيم األداء الزمني ( )time complexityمع )complexityللخوارزميات المستخدمة في تراكيب أنواع البيانات البيانات أمثلة عن أنواع البيانات مثل ،double ،float ،int -:من أنواع تراكيب البيانات مثل -:المكدس (،)stack الطابور( ،)queueالشجرة ( ،)treeوغيرها. ...إلخ. أنواع تراكيب البيانات ()Types of Data Structure
■ يوجد العديد من االستخدامات
المختلفة لتراكيب البيانات في حياتنا اليومية. ■ هناك العديد من هياكل البيانات المختلفة التي تُستخدم لحل المشكالت الرياضية والمنطقية المختلفة. ■ باستخدام تراكيب البيانات، يمكن للمرء تنظيم ومعالجة كمية كبيرة جدًا من البيانات في فترة قصيرة نسبيًا. -1تراكيب البيانات الخطية ()Linear data structure ■ هي تراكيب البيانات التي يتم فيها ترتيب عناصر البيانات بشكل تسلسلي أو خطي ،حيث يرتبط كل عنصر بالعناصر المجاورة السابقة له والتي تليه .من أمثلة هياكل البيانات الخطية: – المصفوفات ( ،)Arrayوالمكدس ( ،)Stackوالطابور ( ،)Queueوالقائمة المرتبطة ( Linked ،)Listوغيرها والتي سيتم شرحها الحقا. .1تراكيب البيانات الثابتة (:)Static data structure – يكون لها حجم ذاكرة ثابت. – ومن السهولة الوصول إلى العناصر الموجودة فيها. – من أمثلتها -:المصفوفات (.)Array .2تراكيب البيانات الديناميكية (:)Dynamic data structure – الحجم البيانات فيها غير ثابت. – يمكن تحديثها بشكل عشوائي أثناء وقت التشغيل. – من أمثلتها -:الطابور( )Queueوالمكدس()Stack والقوائم المرتبطة ( )Linked Listوغيرها. -2تراكيب البيانات الغير خطية ()Non-Linear data structure ■ هي التي ال يتم وضع عناصر البيانات فيها بشكل تسلسلي أو خطي. ■ في هياكل البيانات الغير خطية ،ال يمكننا اجتياز جميع العناصر في عملية واحدة فقط. ■ من أمثلة هياكل البيانات غير الخطية-: – األشجار ()Trees – والمخططات (.)Graphs لماذا نحتاج إلى تراكيب البيانات ■ ترتبط تراكيب البيانات والخوارزميات ببعضهما البعض. ■ عرض البيانات يجب ان يكون سهل الفهم لكي يتسنى لمطوري ومستخدمي البرامج من تنفيذ العمليات بشكل فعال. ■ توفر تراكيب (أو هياكل) البيانات طريقة سهلة في تنظيم ،واسترجاع ،وإدارة، وتخزين البيانات. ■ فيما يلي توضح الحاجة إلى تراكيب البيانات: – سهلة في التعديل. – تتطلب وقت قليل. – توفير في مساحة ذاكرة التخزين. – طريقة تمثيلها للبيانات بسيط. – تسهل التعامل مع قواعد البيانات الكبيرة. ما هي الخوارزمية Algorithm -؟ ■ هي مجموعة من الخطوات واإلجراءات المنطقية المتسلسلة لحل مشكلة ما. ■ ويمكن أيضا أن نقول انها خطة مكونة من خطوات منطقية لحل مشكلة أو عمل فكرة محددة. ■ وهي ليس لها عالقة بلغة برمجة معينة أنما هي مجموعة من التعليمات المحددة اما كخطوات أو مخططات انسيابية، والتي يجب اتباعها لبناء البرامج والعمليات الحاسوبية وتصميمها. أهم تراكيب البيانات استخدا ًما أولا -:المصفوفات ()Arrays ■ تعتبر من أنواع تراكيب البيانات الخطية. ■ وهي عبارة عن مجموعة من العناصر مخزنة في مواقع متجاورة من الذاكرة. ■ فكرتها هي تخزين عناصر متعددة لها نفس النوع في مكان واحد معًا. ■ تسمح بمعالجة كمية كبيرة من البيانات في وقت قصير نسبيًا. ■ العنصر األول من المصفوفة تخصص له قيمة للفهرسة ( )indexهي .0 ■ يوجد العديد من العمليات التي يمكن تنفيذها على المصفوفة ،مثل-: – البحث (.)search – والفرز (.)sort – واإلدراج (.)insert – والحذف ( ،)deleteوغيرها. ثانياا -:القوائم المرتبطة ()Linked Lists ■ وهي أي ً ضا من تراكيب البيانات الخطية. ■ ال يتم تخزين عناصر القائمة المرتبطة في مواقع متجاورة في الذاكرة ،بعكس المصفوفات. ■ ولكن يتم ربط العناصر باستخدام المؤشرات (.)Pointers ■ تتكون القوائم المرتبطة من مجموعة من العناصر تعرف بالعقد (.)Nodes ■ كل عقدة تحتوي حقل بيانات ( )Dataومرجع أو رابط ( )Nextللعقدة التالية في القائمة. مميزات وعيوب تراكيب البيانات العيوب المميزات .1تزيد في العمليات الحسابية وامتالء .1تزيد من عملية تنظيم البيانات وكفاءة الذاكرة. التخزين. .2أسرع في استرجاع البيانات ومعالجتها .2 .تصبح صعبة في تصميم وتنفيذ هياكل البيات المعقدة. .3تسهل تصميم الخوارزميات لحل المسائل .3غير مرنة وتوسعها محدود عندما تكبر البيانات. المعقدة. .4معقدة عند اختبار وتصحيح األخطاء. .4تسهل عملية تحديث البيانات والحفاظ عليها. .5توفر أبسط الطرق في فهم أفضل للعالقات .5صعوبة التعديل على الخوارزميات المتبعة (المطورة سابقًا) في تراكيب البيانات. بين عناصر البيانات. النهاية