الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

linked list

بدأه vector_ever في 26 فبراير 2011 · 6 رد · 4,838 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

يا ريت من الاخوة الافاضل اللي عنده معلومة عن الـ linked list يفيدنا فيها

أنا اريد ان اتعلم عن الموضوع قرات كود عن الموضوع لكنه بقي غامض فتبين لي انه لازمني شرح نظري فقررت طرح السؤال في هذا المنتدى العزيز

فيا اخوة من عنده موضوع بشرح او مثال ما يبخل علينا وبكون سعيد بتعاونكوا معي

linked list ما هي وما وظيفتها ولماذا وين استعملها وكل شيء

والسلام

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#2

أقترح عليك البحث عن فيديوهات تعليميه ...

#3

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

LinkedList

هي احد تراكيب البيانات المهم جدا والتي تتشابه مع بعض تراكيب البيانات الاخري مثل List , Queue الا ان وضعها مختلف بعض الشيئ

فاذا نظرنا لل listنجد بها بعض methods لاضافه البيانات و وضع البيانات بها مثل

get(int index) 
set(int index, Object element) 
add(Object o)

طيب جميل اوي ماذا لو اردنا استخدام

اقتباس

add(int index, Object element)

remove(int index)

طبعا هيحصل عمليه shifting او ازااحه لكل العناصر اللي بعد index ده سواء بالزياده او بالنقصان .. طيب ايه الحل ؟

الحل اننا نستخدم حاجه اكثر كفائه تحل المشكله ديه زي LinkedList

طيب بتتكون من ايه ؟

بتتكون من مجموعه من Nodes كل Node تحتوي علي

1 - element

2 - مؤشر reference من النوع Node لل Node التاليه وهكذا

انظر

public class Node {

    Object element;
    Node next;

    public Node(Object o) {
        element = o;
    }
}

زي الصوره ديه كده

linkedlistdiagram.gif

انا كده اديتك بدايه للموضوع .. تقدر بقا تكمل في اي شرح او تقرأ ال doc file فهو وسيله سريعه وجميله للتعلم http://download.oracle.com/javase/1.4.2/docs/api/java/util/LinkedList.html

ولو عندك اي استفسارات او اي حاجه وقفت .. قولنا واحنا نساعدك

تحيـــــــاتي ..

تم تعديل هذه المشاركة بواسطة Ahmed-Ghanem في 26 فبراير 2011 في 21:16

2
2coscqr.jpg
#4

كتبت مجموعة من المقالات عن تراكيب البيانات http://modonat-alaa.freehostia.com/category/%d8%aa%d8%b1%d8%a7%d9%83%d9%8a%d8%a8-%d8%a8%d9%8a%d8%a7%d9%86%d8%a7%d8%aa/

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#5
vector_ever كتب:

السلام عليكم

يا ريت من الاخوة الافاضل اللي عنده معلومة عن الـ linked list يفيدنا فيها

أنا اريد ان اتعلم عن الموضوع قرات كود عن الموضوع لكنه بقي غامض فتبين لي انه لازمني شرح نظري فقررت طرح السؤال في هذا المنتدى العزيز

فيا اخوة من عنده موضوع بشرح او مثال ما يبخل علينا وبكون سعيد بتعاونكوا معي

linked list ما هي وما وظيفتها ولماذا وين استعملها وكل شيء

والسلام

السلام و رحمه الله و بركاته

1-ال linked list (القائمة المتصلة)

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

و معنى هيكل بيانى (هي تنظيم البيانات في إطار يسهل التعامل معه والوصول للبيانات بداخله.)

2-تستخدم ال linked list بدلا من ال array (حيث أن ال array عبارة عن هيكل بيانى لتخزين البيانات) للاسباب التالية:

1- ال array تخزن البيانات فى أماكن متتالية فى الذاكرة و ليست أماكن متفرقة و هذا يشترط وجوب وجود أماكن فاضية و راء بعض فى الذاكرة لتخزين ال array اما فى حالة ال linked list لايشترط هذا (أول ميزة ال linked list ).

2- ال array حجمها ثابت لا يتغير فمثلا

int[] array =new int[7];

فهذا يعنى أنه تم عمل array تتكون من 7 أماكن فقط حيث أن البيانات من نوع int اما فى حالة ال linked list حجمها غير محدد باستطاعتك الزيادة فى عدد العناصر حسب احتياجك اى فى حالة array

انت محدد بعدد معين من العناصر لا يمكنك الزيادة علية أما فى ال linked list الحجم مفتوح للزيادة كما تشاء (ثانى ميزة لل linked list ).

3- فى ال array عملية ادراج عنصر أو حذف عنصر من بين عناصر array هذا شى صعب فى ال array أما فى حالة linked list هذا شى سهل (ثالث ميزة لل linked list ).

4- فى الحالة ال linked list يمكن دمج كذا list مع بعض و يمكن كسر ال list الى two list أو أكثر حيث ان ال linked list تتكون من node حيث فى كل node مؤشر يشاور على ال node التى بعده

(رابع ميزة لل linked list ).

طبعا توجد عيوب فى ال llinked list :

1- تحتاج مساحة كبيرة فى الذاكرة حيث يوجد فى كل نود مساحة للمؤشر الذى يشاور على النود التى بعده أما فى حالة ال array نحتاج مساحة صغيرة بالمقارنة بال linked list .

2- عملية الحصول على عنصر فى linked list تاخذ وقت حسب موضع هذا العنصر هل هو فى بداية list اما فى الوسط أو فى الاخر أما فى حالة ال array تاخذ وقت ثابت .

هذا شرح بسيط عن مميزات و عيوب ال linked list (نصيحة ابحث عنها فى google سوف تجدها الكثير و الكثير عن linked list ).

إن اصبت فهذا توفيق من الله وإن اخطات فمن نفسى و من الشيطان

و بالتوفيق ان شاء الله

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

1

اللهم أنى اسالك نفساً بك مطمئنة تؤمن بلقائك و ترضى بقضائك و تقنع بعطائك

#6

كما يوجد نوعين من ال linked list

1- singly linked list وفيه يحتوى كل عنصر node على رابط للعنصر الذى يليه فى القائمة

2- doubly linked list وفيه يحتوى كل عنصر node على رابط للعنصر الذى يليه فى القائمة ورابط اخر للعنصر الذى يسبقه فى نفس القائمة

انظر الرابط الذى وضعه الاخ علاء

بالتوفيق

تم تعديل هذه المشاركة بواسطة MOHAMED FATHEI في 27 فبراير 2011 في 13:05


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#7

شكرا جزيلا لكل الاخوة ساقوم بقراءة الشروحات

شكرا اخواني

تم تعديل هذه المشاركة بواسطة vector_ever في 27 فبراير 2011 في 15:19

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


مواضيع مشابهة