منتدى طلاب جامعة الحديدة

أخي الزائر إن لم تكن عضواً في المنتدى فنحن ندعوك لكي تنظم إلينا وشكراً تحيات مدير المنتدى طارق البغوي

انضم إلى المنتدى ، فالأمر سريع وسهل

منتدى طلاب جامعة الحديدة

أخي الزائر إن لم تكن عضواً في المنتدى فنحن ندعوك لكي تنظم إلينا وشكراً تحيات مدير المنتدى طارق البغوي

منتدى طلاب جامعة الحديدة

هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.
منتدى طلاب جامعة الحديدة


5 مشترك

    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم

    طارق البغوي
    طارق البغوي
    المدير العام للمنتدى
    المدير العام للمنتدى


    ذكر
    عدد الرسائل : 2833
    العمر : 37
    البلد : الجهورية اليمنية
    القسم والمستوى : خريج قسم الرياضيات 2010م
    المزاج : متقلب ( مزاج شاعر )
    أختر علم دولتك : هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم Female10
      : هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 15781610
    السٌّمعَة : 14
    نقاط : 985
    تاريخ التسجيل : 28/09/2007

    بطاقة الشخصية
    تخصصي: رياضيات
    المحافظة: الحديدة

    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم Empty هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم

    مُساهمة من طرف طارق البغوي الثلاثاء مارس 11, 2008 3:56 am





    4-1 مقدمة:

    تستخدم كلمة هيكل وهيكلية في مجالات عديدة لتوصيف أغراض كبيرة تم بنائها من وحدات بنائية صغيرة بأسلوب تكراري، وهياكل البيانات هي كتلة منطقية نجمت عن تكرارية عناصر البيانات وفق ترتيب محدد وعلاقات، وتعتبر هياكل البيانات مرحلة وسيطة بين الملفات على وسائط التخزين وبين برامج التطبيقات فيما يوضحه الشكل 14-1.



    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 01_




    الشكل 14-1





    14-2 تعريف هياكل البيانات:

    تعرف على أنها بناء منطقي كبير من عناصر البيانات أو مجموعات منظمة من عناصر البيانات تعامل كوحدة واحدة، مثل المصفوفات أو السجلات.

    ويمكن أن تعرف أيضاً أنها مجموعة من عناصر البيانات المنظمة وفق أسلوب يوحي بكيفية تخزينها واسترجاعها كعناصر بيانات مستقلة.

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



    •أنواع هياكل البيانات:

    تقسم هياكل البيانات إلى عدة أنواع يناظر كل منها أسلوباً خاصاً في تصميم البرامج والمعالجة الالكترونية ويمكن إدراجها تحت ثلاثة أنواع:



    1. هياكل بيانات خطية

    2. هياكل بيانات شجرية

    3.هياكل بيانات شبكية

    14-3 هياكل البيانات الخطية:

    أي ترص البيانات داخل الذاكرة على خط واحد وتشمل:

    • المصفوفة ARRAY.

    • سلسلة الحروف STRING (السلاسل(.

    • السجلات RECORDS والملفات (الجداول).

    • القوائم LISTS.

    • الكومةSTACK .

    • قوائم الانتظارQUE .

    14-3-1 المصفوفة:

    سوف نتفهم طبيعة المصفوفة من المثال التالي، إذا كانت درجات مادة قواعد البيانات لفئة من الطلبة على النحو(45، 15 ،30 ،32 ،48 ،55 ،12) فإنه يمكن القول أن درجة الطالب الأول تساوي45 ، ودرجة الثاني 15والثالث30 وهكذا ،فإذا رمزنا لعنصر البيانات بالرمز (ع) فإن(ع)=45 ،ع(2)=15، ع(3)=30، ع(7)=12 وهكذا، ويسمى الرقم إلى جوار (ع) بالرقم الدليل ويشير إلى رقم العنصر أي ترتيبه في ذات الفئة، فإذا اعتبرنا أن الرقم الدليل له قيمة عامة هي (1) فإنه يتيح التعامل المتكرر ومعرفة أي عنصر في فئة الدرجات بتغير قيمة(1). و رصد الدرجات على النحو السابق يسمى مصفوفة، واستخدام الرقم الدليل SUBSCRIPT يسمح بمعالجة ومعرفة كل عنصر من عناصرها على حده.

    خصائص المصفوفة:

    • تحتوي على عدد محدد من عناصر البيانات.

    • تحتوي على نوع واحد من عناصر البيانات.

    • ذات حيز ثابت لا يتغير ولا يتبدل في المصفوفة الواحدة.

    •عندما يتم تخزين بيانات المصفوفة في ذاكرة الحاسب فإن هناك تناظر وتماثل بين شكل المصفوفة المنطقية (المكتوبة على الورق) وبين شكلها وهيئتها في ذاكرة الحاسب مما يساعد على إنشاء منطق برنامج يتعامل مع عناصرها باستخدام الرقم الدليل (1).

    •يتطلب تخزين المصفوفة في ذاكرة الحاسب وإجراء معالجة بياناتها عدة خطوات على النحو التالي:



    1. فتح مخازن في ذاكرة الحاسب للتخزين المؤقت للبيانات بأمر التخصيص LET كما في لغة بيسك وذلك وفق منطق البرامج الذي سيتعامل مع البيانات ويعيب هذه الطريقة البطيء واحتمالات الخطأ.

    2. أو تخصيص مواقع متلاصقة في ذاكرة الحاسب لعناصر البيانات وهذه وظيفة تؤدى في كل لغات البرمجة بأمر ذاتي FUNCTION BUILT IN مثل الأمر "الطول، الاسم DIM" كما في لغة بيسك مثل 100 ×DIM.

    3. استخدام الرقم الدليل في الإشارة لعناصر البيانات المطلوب التعامل معها.

    4. إذا تعامل البرنامج مع بعض عناصر البيانات فإن البرنامج لا يمكنه التعامل مع نفس العناصر مرة أخرى رغم بقاء البيانات في مواقع التخزين داخل الذاكرة وقد حلت لغة البيسك هذه المشكلة بالأمر Restore مع أتاحت إعادة تسمية المتغيرات والتعامل معها على اعتبارها مدخلات جديدة.

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


    اسم الطالبدرجة المادة الأولىدرجة المادة الثانيةدرجة المادة الثالثة
    أحمد أحمد أحمد152013
    سناء أحمد أحمد181216
    زكي رمزي141018
    رمزي172017
    نجاة101514
    هديل161710







    فإذا كان العمود الأول من جهة اليسار يرصد درجات الطلبة في الكيمياء والذي يليه هي درجات الفيزياء والعمود الأخير يمثل درجات الطلبة في الأحياء فإن مثل هذه المصفوفات تستدعي أن نتذكر ما يلي:

    • أن ذاكرة الحاسب ليست على هيئة جدول بل هي خلايا تخزين متراصة متجاورة على مستوى واحد.

    •ضرورة برمجة المستويين س، ص على الورق داخل الذاكرة على مستوى واحد وواحد فقد.

    وحتى يجري ذلك لأبد أن نتأكد أن حيز المصفوفة لن يتغير عند إجراء تحديث على البيانات بعدها يتم إدخال البيانات الخاصة بالصف الأول ثم الصف الثاني ثم الصف الثالث وهكذا على النحو الموضح في الشكل 14-2 مما يستدعي:






    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 02_
    الشكل 14-2 الشكل داخل الذاكرة




    الشكل 14-2 الشكل داخل الذاكرة





    1- التحديد الدقيق لعدد وحدات التخزين اللازمة للمصفوفة.

    2- حجز مواقع التخزين في الذاكرة متلاصقة ما أمكن.

    3- تخزين البيانات في الذاكرة صفاً صفاً.

    4- تحديد المداخل الصحيحة للمصفوفة





    يتبع....

    طارق البغوي
    طارق البغوي
    المدير العام للمنتدى
    المدير العام للمنتدى


    ذكر
    عدد الرسائل : 2833
    العمر : 37
    البلد : الجهورية اليمنية
    القسم والمستوى : خريج قسم الرياضيات 2010م
    المزاج : متقلب ( مزاج شاعر )
    أختر علم دولتك : هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم Female10
      : هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 15781610
    السٌّمعَة : 14
    نقاط : 985
    تاريخ التسجيل : 28/09/2007

    بطاقة الشخصية
    تخصصي: رياضيات
    المحافظة: الحديدة

    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم Empty رد: هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم

    مُساهمة من طرف طارق البغوي الثلاثاء مارس 11, 2008 4:22 am





    14-3-2 السلاسل الهجائية والرقمية:



    تسمى مجموعات الحروف الأبجدية أو الأبجدية الرقمية، التي تعالج على الحاسب كوحدة واحدة سلسلة STRING.

    أمثلة:

    (أحمد ذهب إلى المدرسة).

    (ميرفت حصلت على الليسانس).

    ( أ ب 653 % س ص ع).

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

    وقد يجري ضم هذه المسلسلات بعملية ضم COONCATENATED مثل:

    (زواج)=A$

    ".." =B$

    (سعيد)=C$

    A$ B$ C$= (زواج ... سعيد).

    وبهذا تعامل سلاسل الحروف باعتبارها مصفوفة ذات طول متغير شأنها شأن السجلات فيما يوضحه شكل 14-3 .



    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 03



    الشكل 14-3 سلسلة ذات طول ثابت





    وقد تكون سلاسل الحروف ذات طول ثابت أو ذات طول متغير:

    1. طول ثابت يعني أن طول السلسلة ثابت وتشغل حيز محدد من مواقع التخزين.

    2. ذات طول متغير وتعني أن لكل سلسلة طول مختلف عن الأخرى وكلا النوعان يستخدما كثيراً في نظم المعلومات.





    14-3-3 السجلات:



    تعتبر السجلات وحدة منطقية متكاملة تتركب من عدد من حقول البيانات المترابطة منطقياً وهي تشبه المصفوفة الأحادية وإن اختلفت عنها في عدة نواح أبرزها أن المصفوفات تضم عناصر بيانات ذات نوع واحد بينما تضم السجلات عناصر بيانات مختلفة وبذلك لا يمكن مصفوفة لاختزان سجلات بل تستخدم الجداول Tables أو الملفات في تخزينها.



    14-3-4 القوائم:



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



    وتختلف القوائم عن مسلسلة الحروف في أماكن التعامل مع عناصرها كلاً على حدة وليس كتلة واحدة مما يستدعي استخدام المؤشرات Pointers في إدارتها.



    وتنقسم القوائم إلى نوعين:

    1- قائمة ذات اتجاه واحد.

    2- قائمة دائرية ذات اتجاهين.



    المؤشرات:

    حتى نمهد للمؤشرات نسترجع الحقائق التالية:

    • أن كل عنصر بيان يخزن في موقع له عنوان.

    •أنه لاستعادة أي بيان يجب معرفة عنوانه.

    • أن العنوان ـ هو الآخرـ يخزن في موقع آخر بالذاكرة يسمى المؤشر.

    • تتم استعادة البيان بالوصول إلى عنوان البيان ومنه نصل إلى البيان.

    مثال:

    ناقش أساليب معالجة العبارة التالية:

    (إيهاب لا يحب أكل الدجاج)

    1. يمكن اعتبارها هيئة مسلسلة أبجدية كما هي مسلسلة الحروف.

    2.يمكن معالجتها على هيئة قائمة List كل عنصر منطقي فيها يسمى DATUM ويتصل كل عنصر DATUM بالذي يليه بواسطة مؤشر POINTER نرمز له بسهم.

    3. يعتبر عنصر البيانDATUM والمؤشرPOINTER مكملان لبعضهما الآخر أو وحده واحدة هي وحدة بناء القوائم.



    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 04



    المعالجة على هيئة مسلسلة:

    (إيهاب لا يحب أكل الدجاج )=A$



    المعالجة وفق نظام القوائم:



    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 05





    ونلحظ أن عنصر البيان (الدجاج) لا يصحبه مؤشر مما يعتبر إشارة نهاية القائمة، وبذلك لا يمكن الرجوع إلى بداية القائمة، وهذا يوضح لنا مفهوم القائمة ذات الاتجاه الواحد، أما إذا أدرج مؤشر مع عنصر بيان الدجاج يشير إلى موقع كلمة إيهاب فإنه يمكن العودة مرة أخرى في الاتجاه المضاد وينتج عن ذلك قائمة ذات اتجاهين (دائرية) الاتجاه.

    طارق البغوي
    طارق البغوي
    المدير العام للمنتدى
    المدير العام للمنتدى


    ذكر
    عدد الرسائل : 2833
    العمر : 37
    البلد : الجهورية اليمنية
    القسم والمستوى : خريج قسم الرياضيات 2010م
    المزاج : متقلب ( مزاج شاعر )
    أختر علم دولتك : هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم Female10
      : هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 15781610
    السٌّمعَة : 14
    نقاط : 985
    تاريخ التسجيل : 28/09/2007

    بطاقة الشخصية
    تخصصي: رياضيات
    المحافظة: الحديدة

    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم Empty رد: هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم

    مُساهمة من طرف طارق البغوي الثلاثاء مارس 11, 2008 4:23 am

    أنواع القوائم واستخدامها:



    •القوائم المتصلة Linked List :

    تستخدم المؤشرات في بناء نظم معلومات أفضل، فإذا افترضنا أن إحدى المكتبات العامة تستخدم نظام القوائم لرصد بيانات مقتنياتها وحتى ترتقي المكتبة بأدائها تم فرز قائمة المقتنيات أبجدياً حسب عنوان الكتاب، وهذا النوع من القوائم لا يتيح تجميع كل مؤلفات كاتب بذاته لأن كتبه موزعة أبجدياً على امتداد القائمة، مما يشكل صعوبة أمام المتردد على المكتبة إذا كان لا يعرف عن الكتاب سوى اسم مؤلفه.

    ولحل مثل هذه المشكلة وسوها يتم إضافة خلية تخزين إضافية (بايت واحدة)من نوع المؤشرات من سجل الكتاب، يخزن بها عنوان الكتاب التالي لنفس المؤلف فيما يوضحه الشكل 14-4

    ويطلق على هذا النوع من القوائم، القوائم المرتبطة أو المتصلة وهي تحقق رصد جميع عناصر أو سجلات البيانات المرتبطة منطقياً متى تم العثور على أول عنصر أو سجل.



    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 06



    الشكل 14-4







    كما يمكن استخدام القوائم في الأعمال التجارية والإدارية على غرار مثال المكتبة فإذا فرضنا أن هناك شركة أدوات تجميل تبيع السلع عن طريق مندوبي المبيعات وكان الملف هو موضح بالجدول فيمكن إنشاء قوائم ومؤشرات تربط بين اسم مندوب البيع وعملائه مما يوفر حيز في الذاكرة ويرفع كفاءة الاسترجاع.

    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 07



    والوصول إلى البيانات ويمكن إجراء الربط بين عملاء كل مندوب بيع لزيادة مرونة النظام على النحو الموضح:



    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 08





    يتبع....
    طارق البغوي
    طارق البغوي
    المدير العام للمنتدى
    المدير العام للمنتدى


    ذكر
    عدد الرسائل : 2833
    العمر : 37
    البلد : الجهورية اليمنية
    القسم والمستوى : خريج قسم الرياضيات 2010م
    المزاج : متقلب ( مزاج شاعر )
    أختر علم دولتك : هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم Female10
      : هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 15781610
    السٌّمعَة : 14
    نقاط : 985
    تاريخ التسجيل : 28/09/2007

    بطاقة الشخصية
    تخصصي: رياضيات
    المحافظة: الحديدة

    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم Empty رد: هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم

    مُساهمة من طرف طارق البغوي الثلاثاء مارس 11, 2008 6:07 am

    قوائم كثيفة DENSE LISTS :
    وهي التي تضم جميع عناصر القائمة في مواقع تخزين متجاورة داخل الذاكرة، فيما يشبه مصفوفة أحادية ضخمة مما يشكل صعوبة في التعامل معها خصوصاً في عمليات الحذف والإضافة. فإذا فرضنا أن لدينا قائمة بعشرة أسماء ونريد حذف الاسم الأول فيجب بعد الحذف تحريك جميع الأسماء للأمام حيى يملئ الفراغ الذي نجم عن الحذف، أما إذا كان المطلوب إضافة اسم للقائمة فإن الإضافة تواجه عدة صعوبات منها التأكد من وجود مكان خال والثاني تحريك الأسماء للخلف.
    العمليات على القوائم:
    تسمح القوائم المتصلة بإجراء العمليات التالية عليها بمرونة ويسر:
    1.
    إضافة عنصر بيان.
    2.
    حذف عنصر بيان.
    3.
    تحديد موقع عنصر بيان.
    4.
    تحديد عنصر البيان التالي.
    5.
    فرز القوائم وفق أي عنصر.
    6.
    إنشاء قوائم خالية.
    وترجع المرونة إلى أن القوائم المرتبطة لا تحتل مواقع متلامسة في داخل الذاكرة كما في المصفوفات أو القوائم الكثيفة، ويجري إعداد هذا النوع من القوائم بإضافة حقل تخزين جديد إلى كل سجل ـيعمل كمؤشرـ يشير إلى عنوان تخزين السجل اللاحق، وحتى يتم الوصول إلى القائمة ذاتها فإنه يتم تخزين عنوان أول سجل في القائمة في خلية تخزين ويسمى هذا الموقع مؤشر رأس القائمة أو مؤشر القائمة ويوضح الشكلان14-5 14-6 تلك المفاهيم.


    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 09_
    الشكل 14-5

    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 10_
    الشكل 14-6


    وهنا يطرح سؤال كيف يعرف الحاسب نهاية القائمة أولا زال هناك المزيد من السجلات، ويحل هذا الإشكال تخصيص موقع ثنائي ضمن المؤشر فإذا كانت قيمة البت(واحد) تعنى لا زال هناك بيانات لاحقة، أما إذا كانت البت (صفر) دل على انتهاء القائمة فيما يوضحه الشكل 14-7.


    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 11_
    الشكل 14-7
    الإضافة و الحذف من القوائم:يمكن حذف أي بيان من القوائم بتعديل قيمة المؤشر القديم إلى قيمة جديدة على النحو الموضح في الشكل 14-8 وبالتالي لا تظهر البيانات عند استرجاع أو طبع القائمة. في حين تتم الإضافة على القائمة بالعثور أولاً على موقع خال من إضافة عنوان (مؤشر) يوضح البيانات السابقة للبيانات المضافة مما يجعل هناك مدخل للحصول على البيانات فيما يوضحه الشكل 14-9.

    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 12_
    الشكل 14-8
    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 13_
    الشكل 14-9

    14-3-5 الكومة STACK :
    يأتي مفهوم الكومة من ذات مفهومها في الحياة اليومية، فإذا كانت خزينة الكتب مملوءة(كومة) فأي كتاب يوضع أعلاها سوف يؤخذ أول كتاب عند البحث عن كتاب آخر، بمعنى من يدخل أخيراً يخرج أولاً Last In First Out وتناظر الكومة القوائم فيما عدا إضافة أو حذف سجل بيانات يتم عند طرف واحد منها مما يسهل عمليات الإضافة والحذف وتكاد تلغي تماماً صعوبة التعامل مع القوائم، ويحجز للكومة حيز متصل داخل الذاكرة أكبر قليلاً من الحيز المطلوب حتى تستوعب المواقع الزائدة عمليات الإضافة أو الحذف وهذا التمدد يحتاج مؤشر إلى الموقع الخالي عند أحد طرفيها.
    14-3-6 قوائم الانتظار QUE :
    تشبه قوائم الانتظار في الحاسبات قوائم الانتظار في الحياة اليومية عندما يقف الناس على هيئة طابور لشراء سلعة أو إنجاز عمل، ويطبق في كلاهما مبدأ من يأتي أولاً يخدم أولاً، وفي الحاسب يطبق نفس المبدأ، ففي نظم الحاسبات قد تقذف وحدة التشغيل المركزية بمخرجات متدفقة أسرع ملايين المرات من سرعة وحدات الطباعة مما يستدعي تخزين المخرجات على الأقراص المغناطيسية حتى يأتي دورها في الطباعة، وهنا يختلف الأمر فعناصر البيانات لا تتحرك مثلما يتحرك الناس في طابور السينما بل يجب تحريك مؤشرات على قائمة الانتظار.

    تنفيذ قوائم الانتظار:
    يتطلب تنفيذ قوائم الانتظار على الحاسب حجز حيز في الذاكرة يستوعب البيانات مع وجود مؤشرين، يتولى الأول الإشارة إلى رأس موقع الانتظار بينما يشير الآخر إلى نهاية موقع الانتظار TALL& HEAD POINTERSويشير مؤشر رأس القائمة إلى عنوان أول موقع مشغول بينما يشير مؤشر ذيل القائمة إلى عنوان أول موقع خال في كتلة المواقع المعنونة المخصصة للقائمة. ويوضح الشكل 14-10 عن حركة التعامل مع قوائم الانتظار.
    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 14_
    الشكل 14-10

    ونلحظ في الشكل الفرعي (1) أن القائمة لا زالت خالية من البيانات مما ترتب عليه أن مؤشري مقدمة ونهاية القائمة يشيران إلى موقع التخزين الأول كبداية ونهاية للبيانات، بينما الشكل الفرعي (2) دخل عنصر البيان(أ) ونلحظ أن مؤشر نهاية القائمة تزحزح إلى الموقع الفارغ التالي بعد موقع (أ)، وفي الشكل الفرعي (3) تم إدخال عنصر البيان(ب) وتحرك مؤشر نهاية القائمة إلى الموقع (3) وفي الشكل الفرعي (4) تم إخراج عنصر البيان(أ) مما أستوجب من مؤشر رأس القائمة الإشارة إلى موقع البيان (ب) كبداية لقائمة الانتظار.

    وهذا التحرك المستمر في عناوين مواقع الانتظار قد يجعل كتلة القائمة تنتقل عبر الذاكرة مدمرة في طريقها كل البيانات وهذا الزحف لا يعود إلى حيز القائمة لكن إلى تغير قيم المؤشرات باستمرار مما دفع إلى التفكير في قائمة انتظار حلقية أو دواره هي أقرب ما تكون إلى دورات البرامج
    Loops بأن تتحرك البيانات المخزنة في القائمة ناحية رأس القائمة باستمرار كلما خرج بيان منها مثلما نتحرك للأمام في طابور تذاكر السينما كلما خرج أحد المنتظرين من الصف ، وفي هذه الحالة فإن اقتربت البيانات المخزنة في القائمة من نهايتها دفعت بيانات جديدة من ذيل القائمة فيما يوضحه الشكل 14-11 ومثل هذه القوائم الانتظارية الدوارة تصلح في إنشاء المناطق العازلة للمدخلات والمخرجات.
    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 15_
    الشكل 14-11 قوائم الانتظار الدائرية

    تطبيقات قوائم الانتظار:تستخدم قوائم الانتظار في عدة تطبيقات داخل نظام التشغيل خاصة في إدارة المشغل كما تطبق في برامج الفرز، فإذا فرضنا أن طلبة كلية التجارة مسجلين في الحاسب ضمن قوائم موحدة سواء أكانوا في الدراسات العليا أو مرحلة البكالوريوس ويراد إصدار طباعة مستقلة لكلا القسمين فإن هناك عدة حلول لتنفيذ المطلوب منها فرز القائمة مرتين، مرة على حقل الدراسات العليا ومرة أخرى على حقل مرحلة البكالوريوس وإصدار طباعة فورية لهم مع تخزين بيانات طلبة الدراسات العليا في قائمة انتظار لحين طباعتها.


    يتبع.....
    طارق البغوي
    طارق البغوي
    المدير العام للمنتدى
    المدير العام للمنتدى


    ذكر
    عدد الرسائل : 2833
    العمر : 37
    البلد : الجهورية اليمنية
    القسم والمستوى : خريج قسم الرياضيات 2010م
    المزاج : متقلب ( مزاج شاعر )
    أختر علم دولتك : هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم Female10
      : هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 15781610
    السٌّمعَة : 14
    نقاط : 985
    تاريخ التسجيل : 28/09/2007

    بطاقة الشخصية
    تخصصي: رياضيات
    المحافظة: الحديدة

    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم Empty رد: هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم

    مُساهمة من طرف طارق البغوي الثلاثاء مارس 11, 2008 6:15 am

     

    طارق البغوي
    طارق البغوي
    المدير العام للمنتدى
    المدير العام للمنتدى


    ذكر
    عدد الرسائل : 2833
    العمر : 37
    البلد : الجهورية اليمنية
    القسم والمستوى : خريج قسم الرياضيات 2010م
    المزاج : متقلب ( مزاج شاعر )
    أختر علم دولتك : هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم Female10
      : هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 15781610
    السٌّمعَة : 14
    نقاط : 985
    تاريخ التسجيل : 28/09/2007

    بطاقة الشخصية
    تخصصي: رياضيات
    المحافظة: الحديدة

    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم Empty رد: هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم

    مُساهمة من طرف طارق البغوي الثلاثاء مارس 11, 2008 6:22 am

    -4 هياكل البيانات الشجرية:

    وتعنى شجرة البيانات Tree (الهياكل الهرمية).
    تشبه هياكل البيانات الشجرية التمثيل المرسوم لشجرة عائلة ضخمة أو الهيكل التنظيمي لإحدى الشركات حيث مدير الشركة على رأس التنظيم ثم يمتد خط النائب بعدها يتفرع التنظيم الإداري والأفرع والأقسام... فيما يوضحه الشكل 14-12 لهيكل تنظيمي لإحدى الشركات.
    ويشترط في الشكل الهرمي عدم وجود مستوى أدنى يعمل تحت قيادة رئيسين في وقت واحد، كما في شجرة العائلة حيث لا يوجد ابن له والدان(عدد 2 والد).


    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 16_
    الشكل 14-12


    والعناصر البنائية في التركيب الشجري تسمى
    NODES وكل عنصر يتكون من وحدة بيان ومشيرين على الأقل ويسمىNODE الأعلى ROOT NODE، الآخرLEAF والخط الواصل بينهما هي الأقواس ARC.




    مؤشر يمينعنصر بيانمؤشر يسار
    عنصر بيان الهيكل الشجري



    وغير خاف أنه لا يوجد داخل الذاكرة يمين أو يسار، إنما تستخدم هذه الطريقة لتوضيح شكل التخزين على الورق وبالتالي فإن كل عقدة سوف تمثل في الذاكرة بواسطة مجموعة من خلايا التخزين متجاورة وإذا كان قيمة أحد المؤشرات صفر فهذا يعنى عدم وجود امتداد أما إذا كان المؤشرين فهذا يدل على نهاية تركيب البيانات، أما المدخل الرئيسي للشجرة فيخزن في مؤشر الجذر
    ROOT PONITER .

    مثال: المطلوب تمثيل العلاقة التالية في هيئة شكل تخزين داخل الحاسب؟


    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 17
    الحل : يوضحه الشكل 14-13


    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 18_
    الشكل 14-13

    وهذا التركيب يتيح تحديد جذر السجلات
    Root لكل فرع Leef لكن على حساب استخدام مواقع تخزين أكثر للمؤشرات.
    14-5 هياكل البيانات الشبكية:

    وتعنى Plex الشبكات (الرسوم Graphs ) كما تسمى بيانات مضفرة.
    إذا اتصل أي عنصر بيان في المستوى الأدنى من هياكل البيانات الشجرية بأكثر من عنصر في مستوى أعلى فيطلق عليه اسم هياكل بيانات شبكية، حتى شجرة العائلة من النوع الشبكي وليست من النوع الهرمي فالشكل14-14 يوضح العلاقات الهرمية لأسرة تتكون من جد، أبناء، أحفاد، شكل غير حقيقي لأننا أهملنا الأمهات منذ زمن بعيد لكن الشكل 14-15 وهي علاقة توضحيها أكثر كما في شكل14-16.


    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 19_
    الشكل 14-14

    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 20_
    الشكل 14-15

    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 21_
    الشكل 14-16

    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 22
    تكافئ الشكل الشجري التالي

    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 23



    وتنقسم هياكل البيانات الشجرية إلى نوعين، بسيط ومعقد، ففي النوع البسيط يمكن تحديد مستويات الهيكل البنائي للبيانات أما النوع المعقد فيصعب ذلك كثيراً كما في الشكل14-17 .
    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 24_
    الشكل 14-17
    ندى الأيام
    ندى الأيام
    مراقبة عامة
    مراقبة عامة


    انثى
    عدد الرسائل : 616
    العمر : 36
    البلد : اليمن
    القسم والمستوى : طالبة
    المزاج : عال
    العضوية : 20
    أختر علم دولتك : هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم Female10
      : هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 15781610
    السٌّمعَة : 1
    نقاط : 32
    تاريخ التسجيل : 12/12/2007

    بطاقة الشخصية
    تخصصي: حاسوب
    المحافظة: المحويت

    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم Empty رد: هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم

    مُساهمة من طرف ندى الأيام الأحد مارس 23, 2008 8:57 pm

    موضوع في غاية الروعة اخي

    بارك الله فيك
    وجزاك عنا كل الخير00
    الكمراني
    الكمراني
    مستشار إداري
    مستشار إداري


    ذكر
    عدد الرسائل : 730
    العمر : 37
    البلد : اليمن
    القسم والمستوى : مش مشغول
    المزاج : متعكر
      : هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 15781610
    السٌّمعَة : 5
    نقاط : 29
    تاريخ التسجيل : 02/11/2007

    بطاقة الشخصية
    تخصصي: رياضيات
    المحافظة: الحديدة

    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم Empty رد: هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم

    مُساهمة من طرف الكمراني الإثنين مارس 24, 2008 8:19 pm

    موضوع في محله
    انت الكنج في المنتدى والله يبارك لنا في المدير
    وردة الخريف
    وردة الخريف
    نائب المدير
    نائب المدير


    انثى
    عدد الرسائل : 1374
    العمر : 37
    البلد : اليمن
    القسم والمستوى : معلم حاسوب
    المزاج : ممتاز
    العضوية : 75
      : هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 15781610
    السٌّمعَة : 9
    نقاط : 586
    تاريخ التسجيل : 21/01/2008

    بطاقة الشخصية
    تخصصي: حاسوب
    المحافظة: الحديدة

    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم Empty رد: هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم

    مُساهمة من طرف وردة الخريف الثلاثاء مارس 25, 2008 6:06 am

    موضوع ممتاز

    معلومات مهمة ومفيدة

    شكراً لك
    طارق البغوي
    طارق البغوي
    المدير العام للمنتدى
    المدير العام للمنتدى


    ذكر
    عدد الرسائل : 2833
    العمر : 37
    البلد : الجهورية اليمنية
    القسم والمستوى : خريج قسم الرياضيات 2010م
    المزاج : متقلب ( مزاج شاعر )
    أختر علم دولتك : هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم Female10
      : هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 15781610
    السٌّمعَة : 14
    نقاط : 985
    تاريخ التسجيل : 28/09/2007

    بطاقة الشخصية
    تخصصي: رياضيات
    المحافظة: الحديدة

    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم Empty رد: هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم

    مُساهمة من طرف طارق البغوي الأربعاء مارس 26, 2008 7:42 am

    أشكر الجميع


    ولكن هذا أقل واجب يقدم من أجل المنتدى
    avatar
    احمد الكينعي
    عضو جديد
    عضو جديد


    ذكر
    عدد الرسائل : 7
    العمر : 39
    البلد : اليمن
    القسم والمستوى : خريج 2010
    المزاج : رااااااااااااااااااااائق
    أختر علم دولتك : هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم Female10
      : هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم 15781610
    السٌّمعَة : 0
    نقاط : 0
    تاريخ التسجيل : 04/12/2007

    بطاقة الشخصية
    تخصصي: رياضيات
    المحافظة: ذمار

    هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم Empty رد: هياكل البيانات ( مهم جداً ولازم تقرأها) أدخل أو هتندم

    مُساهمة من طرف احمد الكينعي السبت أبريل 05, 2008 8:13 am

    نشكركم جدا على هذا الابداع والاستخدام الصحيح للنت

      الوقت/التاريخ الآن هو الثلاثاء نوفمبر 26, 2024 7:42 am