عمرك طرحتي سؤال فراصك كفاش ان شركة Google تتقوم بفرز المواضيع
المكتوبة على محرك البحث ؟
بمعنى انك نتا ولا نتي فاش تتدير بحث على موضوع معين مثلا "التقوب السوداء" فأنا متأكد انه متيطلعش ليك غير مقال واحد مكتوب على نفس الموضوع !! بال كيطلعولك الاف المواضعة إن لم أقل انهم ملايين المواضيع على نفس الموضوع . هذي مشكلة فكفاش ان شركة Google غادي طلع ليك بعدا موقع wikipedia هو لول عاد موراه المواقع مرتبة على حساب المصداقية وصحة المعلومات لتتكتب كفاش تتعلرف هد شي كولو نقدر نقوليك كاين بزاف ديال الطرق المستعمل فيها الانسان لكشف صحة اي احاجة من عدم صحة نتاعها. نسبة المشاهدة عنصر حاسم فكشف مدى صحة اي مقال كيف ما بغا يكون ف Google تتعتامد بشكل كبير على على نبة المشاهدة لتصنيف المواضيع ولكن, بكل صراحة واش نسبت المشاهدة نقدروا نعتامدوا عليه لتحديد صحة اي حاجة بنسبة لية انا غادي نجاوبك ب لا ! واش كاية شي طريقة اكثر فعالية انا معرفش صرحتا وماشي مشكلتي بال مشكلة نتاع Google, ولكن انا ليومة غادي ندوي ليكم على كفاش ان المواضيع للي تتكتب اكثر من مرة في Goggle تتكون محضورة ولا بمعنى اخر الى شي شخص كتب مقال تيدوي فيه على شي حاجة ونتا جيتي شفرتيه ليه ووليتي لحتيه عنك سواءا في مقال ولا فأي منصة اخرى فنتا غير كضيع وقتك فالمقال ديالك داز لوحد node مور node الاساسية نتاع المقال الاساسي فنتا هنا فاش شي واحد غادي يقلب على الموضوع لنتا شفرتي ولحتيه ف Google غادي يطلعلوا غير node لولة يعني اول مقال تكتب وبصفتك نتا غير شافر المقال فنود تاعك اتكون هية التانية و مغديش يدوز ليها السيسطيم ومغاديش طبع في محركات البحث الى فشي وضعيات لى مغديش ندوي عليهم. وهنا قول لينا كفاش تيخدم هدشي وخا متكونش مزروب غير بشوية عليك.
Hash Table & Linked Node
من السميات ديال هد العجب تقدر تاخد فكرة.
WHAT IS An ARRAY ?
WHAT IS A LINKED LIST?
WHAT IS A HASH FUNCTION ?
WHAT IS A HASH TABLE ?
اول حاجة قبل منقهمو Google كفاش تتفرز المقلات ديالها خاصنا نعرفو هد المصطلحات كفاش تيخدمو .
1-المصفوفة او array
تيقولك ان الصورة تغني عن الف كلمة فسير اخاي شوف فصورة لخليت ليك غادي تفهم ان المصفوفة هي مصفوفة من الاعداد لتتدير لراصها مساحة فخريطة التخزين في في الحاسوب و الهدف نتاعها هو تخزين الاعداد الكلمات الاحرف الاجمل بشكب عشوائي او بشكب مرتب.
ومن المميزات نتاعها ان الترتيب او التخزين ديال البيانات بشكل عام تيكون بطريقة متسلسلة يعني ان حرف اور رقم او جملة تابعة ختها وهذ النقطة جد مهمة وهي الاساس من هد الشرح للمصفوفة.
وخا كفاش تتنفد Array بستعمال لغت البرمجة java
ساهلة بزاف وكاين جوج طرق مغديش نقول الفرق بناتهم باش منتلفكمش
طريقة الاولى
int[] array = new int[number of items];
طريقة ثانية
Arraylist<Integer> array = new ArrayList<Integer>();
للاشارة هنا ديكلاريت بان المصفوفة غادي تاخد ارقام فقط.
من بعد ما عرفنا المصفوفة غادي نمشيو ل Linked list
شنو هو Linked list صورة يا اخي تغني شوف الصورة وحاول تستنتج الفرق او ولي تبع معايا. تشي حاجة مغير ان هد نوع من المهيكلات تيرتب المدخلات بطريقة per-value-next-->per-value-next
بمعى ان المدخلات يرتبون بطريقة شي لاصق فشي من خلال المؤشرات طبعا (per next) يعني كاين واحد تلاحم بين المدخلات وكل مدخل مرتبط بلدي يليه,واااا يعني نود لاصقة في نود ماشي بحال المصفوفة للي مبين المدخل و المدخل كاين فراغ. هد النقطة جد مهمة لاننا غادي نخدمو linked list او Node في hashtable لترتيب المدخلات او البيانات !!
كفاش تتنفد node في جافا
class LinkedList{
class Node {
Node head;
Node next;
Node per;
int data;
}
}
دبا دخلنا لصب الموضوع لهو hashtable كفاش تيخد هو مقسم لجوج ديال العناصر table o hash function
نشرحو وحدة بوحدة
hash function
وضيفة لهي مهمة بزاف وتتستعمل فبزاف نتاع الحوايج مغير هد شي لغادي نقول ليكم يمكن ليكم تقلبو عليها من بعد.
الغرض الوحيد لغادي نحتاجوها ليه هنا هو تقسيم المدخلات الى طول table كفاش هد شي كيخم هنا غادي ندخلو ل هيكلة البيانات او data structure خليك معايا مركز !! تخايل معايا اننا بغينا نستفو في هد الطابلو بزاف نتاع المعلوما وحنا دايرين فراصنا ان داك المعلومات خصنا دروري وليو نرجعوها يعني غادي نحتاجوها نحتاجوها والاساس اننا فاش نبغيو نجبدوها منستهلكوش بزاف نتاع الوق وهد شي داخل في التعقيد الزمني وللي بغا يزيد يعرف كثر يقلب على Big o واابمعنى خاصنا لقاو افضل وقت للي نقدرو نجبدو فيه اي معلوم الى قلبنا عليها فهذ الطابلو لهو (O (1 يعني وقت تابت هدا هو افضل وقت باش نفدو هد افضل وقت.
Mohammed Janati, [2/13/22 2:34 PM]
هنا تنحتاجو نقسو رقم المدخل على طول الطابلو كانوا للمدخل كلمات غادي نحولوهم الى ارقام ونقسمو على طول الطابلو مثال هدا هو hash function وكما العادة صوف الصورة ادناه باش تزيد تفهم اكثر. هنا عندنا واحد المشكيلة وحداخرة لهو مثلا الى قسمنا شي مدخل على طول المضفوفة غادي يعطينا رقم شوف هنا اشباب تعني بتقسيم واحد الادات دايرة هكذا % كفاش تتخدم هدي تخايل معايا اننا قسمنا 9%2 نورمال مون غادي تعطينا 4.5 لكن هنا غادي تعطينا 1 . كفاش هد شي هنا الادات غادي تبقا تاخد لينا 2 بجوج بجوج حتا متبقاش حتا شي 2 يعني 9 هي عبارة على 2+2+2+2+1 هنا الى خدينا جميع جوجات فغادي يبقي واحد هكدا تتخدم ادات القسمة %. رجعو للمشكلة وكيف ما قلت الى قسمنا جوج ديال المدخلات فإن حتمال كبير انه يخرج لينا نفس العدد وهنا فاش تنقول العدد راه هو رقم ديال index
لغادي نحطو فيه المدخل لانا كيف ما قلت ليكم فحنا تنحتاجو وقت تابت باش نبقاو اي حاجة تنقلبو عليها واحسن طريقة لهد الوقت تابت هو اننا نخزنو الرقم فنفس الرقم ديالو يعني الى كان عندي 10000 غادي ندخلو في الانديكس رقم 10000 في الطابلو يعن يطابلو خاص يكون فيه 10001 مكان لتخزين باش نحطو داك المدجل نتاعنا 1000 ولكن هنا داك 1000 عدد كبير غادي يهلك لينا المساحة نتاع التخزين عليها تنقسموه على طول نتاع الطابلو و الخارج كيكون هو مكان تخزين المدخل نتمنا تكونو فهمتو.
هنا رجعو للمشكلة قلنا اللى قسمنا جوج نتاع المدخلات على طول ديال الطابلو فنسبة كبيرة غادي يخرجو لينا شي اعداد كيتشابهو وهنا واش غادي نحطو داك دود اعداد في خانة وحدة هد شي مستحيل شنو هو الحل هنا كاين جوج حلول مشهورة ولكن انا غادي ندوي غير على الحل لتنخدمو فيه Node . كفاش غادي نخمو تخايل معانا وقعنا في المشكل ل لهو وحنا كنستفو في البيانات نتاعنا لقينا جوج نتاع المدخلات عندهم نفس عدد index هنا غادي نخليو لول فبلاصتو وتناني غادي نخلقو ليه نود لاصقة في المكان الأصلي نتاعو ولصقوه معا صوحبو وهنا تتولي عندا نود ب index مميز شوف نفس الصورة باش تزيد توضاحلك المعلومة اكثر .
هنا رجعو للموضوع ديالنا الاصلي لهو كفاش ان Googel تتخدم هد hasttable باش تستف الموضيع عنها في محرك البحث ساهلة تخايل معايا نتا كتبتي واحد المقال غادي تقبطو كوكل غادي تلقاه اول مرة تيتكب ااااه هنا مقال مميز فغادي نديرةه ف طابلو بوحدو. ولا جا شي حد شفر ليك المقال نتاعك ولاحو فهنا كوكل غادي تقبط المقال وغادي تلقاك نتا ديجا كاتبو فغادي تدير للمقال التاني نود حدا المقال نتاعك وفاش شي واحد غادي يقلب على المعلومة لنتا كاتب عليها غاي يطلعلو غير المقال نتاعك وماشي المقال نتاع هداك لشافرو من عندك.
وهنا كنضن ان الفكرة وضحات اكثر