دروس كمبيوتر وصيانة دروس حاسب دروس مجلة  درس نيوك phpnuke الدروس دروس مسنجر MSN - yahoo - Gmail دروس منتديات vBulletin دروس الجوالات والهواتف دروس السي بنل cpanel دروس اكسس access دروس بيونت شوب برو - point shop pro دروس برمجة php - mysql دروس برامج منوعة software دروس ثري دي ماكس 3D max دروس جافا سكريبت JavaScript دروس دريم ويفر DreamWeaver دروس شبكات Networks دروس سويش - swish دروس فلاش - flash دروس فيجوال بيسك Visual Basic دروس فرونت بيج - frontpage دروس فوتوشوب photoshop دروس هكر hacker crack virus
توبيكات رمضان | رسايل رمضان | ثيمات رمضان | طبخات رمضانية | توبيكات رمضانية | صور عن رمضان | دعاء رمضان
احصائيات سريعة
اقسام على الموقع
دروس في أنظمة التشغيل | ماي سكيول - MySQL | لفيجوال بيسك - Visual Basic | المات لاب Matlab | اللينكس و اليونكس | الاسمبلي - ASSEMBLY | الاوتلوك - Outlook | البرمجة تحت اللنكس -Linux Programming | البرمجة تحت وندوز بواسطة دوال ال win API | البرمجة في بيئة الدوت نت .Net | التصمبم والرسوم | الدلفي - Delphi | الجافا - Java | السي - C | الصوت و الصورة | الوورد - Word | القسم العام للأوفيس | الكوبول - COBOL | control panel-ftp | اوراكل - Oracle | اكسل - Excel | تحميل الملفات | برامج متنوعة | برامج التصفح | برامج الحماية | برامج إنترنت | تعرّف على الويب | بوربوينت - Power Point | images | دروس : كمبيوتر وصيانة | دروس مجلة نيوك phpnuke | دروس مسنجر MSN - yahoo - Gmail | دروس منتديات vBulletin | دروس الجوالات والهواتف | دروس السي بنل cpanel | دروس اكسس access | دروس بيونت شوب برو - point shop pro | دروس برمجة php - mysql | دروس برامج منوعة software | دروس ثري دي ماكس 3D max | دروس تطوير المواقع والمنتديات | دروس جافا سكريبت JavaScript | دروس دريم ويفر DreamWeaver | دروس شبكات Networks | دروس سويش - swish | دروس فلاش - flash | دروس فلاش mx | دروس فى نظام الوندوز WINDOWS | دروس فىالباسكال - Pascal | دروس فيجوال بيسك Visual Basic | دروس فرونت بيج - frontpage | دروس فوتوشوب photoshop | دروس هكر hacker crack virus | سي ++ | سي شارب - #C | فيجوال سي ++ - ++ Visual C | قسم البرمجة العام | دروس فى لغة HTML
البحث في المواد

اكثر المحتويات زيارة
الدوال في الاكسل (6,376 مشاهده)
ربط قاعدة بيانات أكسس (MS Access) مع برنامج الفيجوال بيسك بطريقة(ODBC) (4,138 مشاهده)
الدرس الثالث : بعض تطبيقات الدوال في اكسل (3,091 مشاهده)
تعريف الاستعلام وطريقة عرضه في آكسس، أنواع الاستعلامات، نافذة تحديد الاستعلام! (2,402 مشاهده)
الدرس الثاني: بعض الحيل لتسهيل برنامج اكسل (2,298 مشاهده)
شرح طريقة استعمال الأوتلوك مع بريد الهوتميل (2,192 مشاهده)
تغيير لغة واجهة التطبيق من عربي الى انجليزي وبالعكس لـ Windows-based applications (2,156 مشاهده)
أنواع العلاقات وطريقة الربط بين الجداول. (1,928 مشاهده)
مقدمة عامة حول الاكسل وحيل خاصة بالاكسل (1,756 مشاهده)
أنشئ قاعدة بياناتك التي ستستند إليها في تعلم طريقة ربط الجداول والاستعلامات. (1,725 مشاهده)
الدرس الأول : عمل شريحة في البوربوينت (1,576 مشاهده)
دروس في الأوفيس الأكسس - Access0- (1,527 مشاهده)
كيفية حل مشاكل الانترنت اكسبلور Internet Explorer (1,489 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس . (1,468 مشاهده)
اضافه صوت ونص لخلفيه في باور بوينت (1,358 مشاهده)
شرح طريقة التجميع Grouping في برنامج الاكسل (1,322 مشاهده)
التعرف على مكونات الكمبيوتر (1,286 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (1,276 مشاهده)
برنامج Windows Movie Maker لتكوين أفلام (1,265 مشاهده)
درس تعريب المجلة (1,247 مشاهده)
مقدمة في ربط قواعد البيانات داخل بيئة الـ .NET باستخدام الـ VB.NET (1,218 مشاهده)
كيف تجعل برنامجك أكثر تألقا وجمالا باستخدام أداة Active Skin (1,215 مشاهده)
ما هو المات لاب MATLAB؟ (1,171 مشاهده)
مقدمة عن لغة البيسك (1,129 مشاهده)
الفيجوال بيسك - مقدمة (1,090 مشاهده)
جديد مواد مع عشوائي
التحويل التلقائي للحروف ل- ل- ه إلى اسم الجلالة0---- (791 مشاهده)
النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0---النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0--- (491 مشاهده)
ضبط خيارات اللغة فى الـ Microsoft Word0--- (551 مشاهده)
استخدام لوحة المفاتيح في الـ Word0---- (719 مشاهده)
إضافة كلمة سر إلي ملفات الورد دون استخدام برامج0--- (790 مشاهده)
دمج المراسلات0-- (438 مشاهده)
وضع صورة كخلفية للنص0-- (567 مشاهده)
السماح للمستخدمين بتعديل أجزاء من ملف وورد محمي (Word2003)0--- (385 مشاهده)
كتابة الأرقام الكسرية ورموز المعادلات0-- (636 مشاهده)
درس كامل عن الدمج السهل من لوحة المفاتيح ف0-ي برنامج الـ Word (401 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (1,276 مشاهده)
دورة الأكسيس : الدرس الرابع : العلاقات0---- (667 مشاهده)
أساسيات في Access0--0 (457 مشاهده)
تصميم تقرير لطباعة البيانات0---- (496 مشاهده)
تصميم نموذج استعراض البيانات‏0--تصميم نموذج استعراض البيانات‏0-- (481 مشاهده)
تصميم نموذج إدخال‎ ‎البيانات0--- (573 مشاهده)
إنشاء قوائم خاصة باستخدام الماكرو(1)0-- (444 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (2)0-- (376 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (1)0- (331 مشاهده)
استعلامات SQL في Access - تعديل الجداول وإضافة الحقول0- (466 مشاهده)
استعلامات SQL في Access - تحديث البيانات الجدولية0-- (421 مشاهده)
الاستعلامات الإجرائية -4 (استعلام الحذف)0--- (218 مشاهده)
الاستعلامات الإجرائية -2 (استعلام الإلحاق)0--- (301 مشاهده)
تصميم تقرير لطباعة الإجمالي0--- (329 مشاهده)
استعلامات التحديد Select Query مع أمثله (1)0--- (434 مشاهده)
اعلانات في الموقع على جميع الصفحات

البحث الثنائي (2) Binary Search-البحث الثنائي (2) Binary Search-

البحث الثنائي (2) Binary Search




 


بسم الله الرحمن الرحيم


بعد أن تعرفنا على خوارزم الـBinary Search وطبقناه على مصفوفة ذات عناصر رقمية، نتعرف في هذا الدرس على المكتبة الجاهزة والتي توفرها الجافا كي نطبق الـBinary Search على مصفوفة ذات عناصر حرفية strings..


جميع المكتبات التي سنستخدمها هنا وفرتها الـJava Collections Framework، وسنستخدم مكتبتين:




  • Collections.binarySearch: والتي تأخذ list كـ argument أول لها، وتأخذ Object كـ argument ثاني. فتقوم بالبحث عن الـObject داخل الـList باستخدام تكنيك الـbinary search والذي شرحناه في الدرس الأول.



  • Collections.sort: والتي تأخذ List كـ argument وحيد لها، وتقوم بترتيبها أبجدياً.


ولكي نستطيع استخدام هذه المكتبات، لابد لنا من أن نضع جميع العناصر الحرفية في list (سواء اخترنا ArrayList, LinkedList or Vector)  وسنختار هنا الـArrayList. ويوضح الـcode التالي كيفية تعريف هذا النوع من الـlist وكيفية تطبيق هذه المكتبات عليه، حيث أن الـbinarySearch Method التي سنستخدمها ستعطينا في المخرجات:




  • موضع المفتاح (العنصر الذي نبحث عنه) في المصفوفة إذا وجد فيها. أي أننا سنحصل هنا على قيمة مساوية للصفر أو أكبرمنه.



  • قيمة سالبة إذا لم يكن المفتاح (العنصر الذي نبحث عنه) ينتمي إلى المصفوفة.


وإليك الشيفرة كاملة:


// Using algorithm binarySearch
import java.util.*;

public class BinarySearchTest {
private String colors[] = { "red", "white", "blue","black", "yellow", "purple", "tan", "pink" };
private ArrayList aList; // ArrayList reference

public BinarySearchTest()
{
aList = new ArrayList( Arrays.asList( colors ) );
Collections.sort( aList ); // sort the ArrayList
System.out.println( "Sorted ArrayList: " + aList );
}

public void printSearchResults()
{
printSearchResultsHelper( colors[ 3 ] ); // first item
printSearchResultsHelper( colors[ 0 ] ); // middle item
printSearchResultsHelper( colors[ 7 ] ); // last item
printSearchResultsHelper( "aardvark" ); // below lowest
printSearchResultsHelper( "goat" ); // doesnt exist
printSearchResultsHelper( "zebra" ); // doesnt exist
}

private void printSearchResultsHelper( String key )
{
int result = 0;

System.out.println( "nSearching for: " + key );
result = Collections.binarySearch( aList, key );
System.out.println( ( result >= 0 ? "Found at index " + result : "Not Found (" + result + ")" ) );
}

public static void main( String args[] )
{
new BinarySearchTest().printSearchResults();
}
}


والصورة التالية تريك شاشة المخرجات:



وبذلك نكون قد غطينا موضوع الـbinary search في الجافا من جميع الجوانب ولله الحمد


درس البحث الثنائي (2) Binary Search-البحث الثنائي (2) Binary Search-

أضف هذه المادة في موقعك:
مواد مشابهة:
HTML)- HTML)-
HTML)-
(مرات المشاهدة: 54 مرات)
(17) أوامر التحكّم - الجمل الشرطية (17) أوامر التحكّم - الجمل الشرطية
(17) أوامر التحكّم - الجمل الشرطية
(مرات المشاهدة: 204 مرات)
 لكل مبتدئ في الجافا- لكل مبتدئ في الجافا-
لكل مبتدئ في الجافا-
(مرات المشاهدة: 194 مرات)
(4) البرمجة بالكائنات الشيئية - 2 (4) البرمجة بالكائنات الشيئية - 2
(4) البرمجة بالكائنات الشيئية - 2
(مرات المشاهدة: 121 مرات)
المصفوفة المتناثرة Sparse Matrixالمصفوفة المتناثرة Sparse Matrix المصفوفة المتناثرة Sparse Matrixالمصفوفة المتناثرة Sparse Matrix
المصفوفة المتناثرة Sparse Matrix
(مرات المشاهدة: 59 مرات)
(9) المتغيّرات (9) المتغيّرات
(9) المتغيّرات
(مرات المشاهدة: 84 مرات)
المصفوفة المتناثرة Sparse Matrix- المصفوفة المتناثرة Sparse Matrix-
المصفوفة المتناثرة Sparse Matrix-
(مرات المشاهدة: 51 مرات)
استخدام الهتمل (HTML) بمكونات الـ Swing- استخدام الهتمل (HTML) بمكونات الـ Swing-
استخدام الهتمل (HTML) بمكونات الـ Swing-
(مرات المشاهدة: 77 مرات)
(19) الوظائف (19) الوظائف
(19) الوظائف
(مرات المشاهدة: 169 مرات)
تخزين البيانات الضخمة بقاعدة البيانات اوراكل بواسطة الجافا تخزين البيانات الضخمة بقاعدة البيانات اوراكل بواسطة الجافا
تخزين البيانات الضخمة بقاعدة البيانات اوراكل بواسطة الجافا
(مرات المشاهدة: 215 مرات)
fot
جميع الحقوق محفوظة :Copyright © All rights reserved