کامپیوتر و IT و اینترنتعلوم مهندسی

ساختمان داده ها و الگوريتم ها (JAVA Collections Framework)

صفحه 1:
J®@OO® Coleviow Prawework Get IeterPaces & ۱ ‏جحصلداجج‎ ساختمان داده ها و الگوریتم ها

صفحه 2:
‎Onlertion ©‏ دسته لیاز لشیاء هب نوع - (و وکر صرهرررصر6) » روزهاي هفته ‎٩‏ عملیات روي مساو - مرتب سازي - جستجو - حذف و اضافه نمودن اعضا ‎Gioreage/ Retrieve 3b ‏ذخيره و‎ -

صفحه 3:
مزاياي استفاده از اون © کاهش برنامه نويسي © افزايش كيفيت و سرعت برنامه ها © ارتباط آسانتر نرم افزارهاي مختلف © كاهش زمان يادكيري توابع و متدهاي لازم © كاهش زمان طراحي توابع و متدهاي جديد © امكان استفاده مجدد از نرم افزارهاي مبتني بر ج-دةععلام © كمومه )0

صفحه 4:
‎sexe IPOD Colleriives Preaxvework &‏ عد لبزارهاء قراردادها و چارچوبهاوی کسان‌ب رلیپیاده سازیلنواع مجموعه هایپویا ‎Gtack, queue, lst, bask table, wap —‏ ‎© Coleviows Prexvework - ‏اه‎ ‎© Wbsirat Outs Pipe Represeutaiva oP Ovleviocs ~ ‏سوام‎ ‎© WBOO chase ‏ماع‎ oF the BOT ‘= — ‏دمحاي‎ ‏یه مب ری‎ 9

صفحه 5:
© 6 22 اس * قراردادهايي براي نحوه دسترسي به مجموعه پویا - نحوه پیاده سازي اين قرار دادها در یی ذکر نمي شود ‎DOT ste ©‏ 9:۳۷) ساختمان داده پشته را تعریف مي کند. - داده هاي إ.8) : آرايه اي لز اعضا - عمليات روي !-:3) :حذف و اضافه نمودن اعضاء بررسي ير يا خالي بودن اه 7 ‏& ۲ «سبصمم<) واه 900 چندین مسب | بر يپ شتيباني ساختمان‌دادم هایمعروف تعريفمي‌ک ند

صفحه 6:
© «ومادوات() : مجموعه از لشیا هب نوع - تمام عملياتي که روي دسته اي از اشیا به صورت عام قابل انجام است؛ در راون تعریف مي شود - انواع خاص تر مجموعه هاي پویا؛ از مان ارث مي برند ۴ () : تابع. ( به مفهوم ریاضی)را تعريفمي‌ک ند - هر عضو دامنه به یک و فقط یک عضو برد اختصاص مي یابد.

صفحه 7:
© یکمجموعه بسه مفهوم ریاضيرا تعريفمي‌ک ند - عضو تكراري در اين ماه وجود ندارد © بج )و3 ): نوع خاصواز 92) لستکه اعضايیه صورت مرتبقرار گرفته لند. - الگوریتم هاي جستجو روي اين مجموعه هاء بسیار سریعتر از مجموعه هاي نا مرتب کار مي کنند. ‎٩‏ بورا : دسته لياز لشیاء به صورتمرتبلست بر خاهبی) در بط مي وان عضو ویتکا ریداشت

صفحه 8:
‎queue ©‏ (صف/ساختار دادم ليلستکه در آن‌تریبدسترسيیه لعضاء با ترتیبورود لعضا به یی معين‌مي‌شود - هر عضوي که زودتر وارد سحمي زودتر در دسترس قرار مي گیرد - این ساختار ) ۳2) « بسو۳) است

صفحه 9:
) <0>ترا سا طلجت <کساون وله تلم ‎Ocwte operate‏ 1 زاس ‎‘et‏ ‏:( )نوري ات ساسا اه اسویان)) سوت ماما 1 ‎books rewoe( Objet eens); Hopaoned‏ ‎Nerctor<D> terctor();‏ سس 0 | :لك <0)> سهدت )سيت ‎booker‏ booker ox IDK Ovkevar<@> 0); Hop booker ‏بك <ق>مسسامت)ا دسم‎ opm ‏تفا :(ت <8)>موسادت) اليس ساسا‎ ‏زان اج‎ Morera مه و || :)مان لاسرا ;)9 )وی 0 ‎<P>‏

صفحه 10:
{ 0 کار لسوت <0>0) وله تالم ‎Ocwte operate‏ 1 زاس ‎‘et‏ ‏:( )نوري ات ساسا اه اسویان)) سوت ماما 1 ‎books rewoe( Objet eens); Hopaoned‏ ‎Nerctor<D> terctor();‏ سس 0 | booker ‏کهساه )میت‎ 9 < v); ‎extecnby (D> 2); Mopar‏ 7 کهاه )لاله منیا 1 لوا :زم ‎books retackDM(Ovkevioas?>‏ لوا زان اج ‎ ‏سجن روت | :)مات لاسرا ;)9 )وی 0 ‎<P>‏

صفحه 11:
© جر1 : اعضاييك‌مجموعه را در ‎WaskPable‏ نگهداري و مديريتمي‌کند. - ازنظر کارايي: ,را" بهترین پیاده سازي است . - اين روش ترتيب خاصي روي اعضا اعمال نمي كند 8 ۷ : اعضايمجموعه را به صورتمرتبدر يك ‎٩4‏ ‏۳ 9) نگهداريمي‌کند - کندتر از بع9ویر// عمل مي کند اما ترتیب اعضا را حفظ مي کند Wash Pabledly 52 | ‏)مرا را اعضایمجموعه‎ ٩ ‏نگهداريي‌کند.‎ Licked List 44 Sens - تريب اعضاء بر اساس ترتیب اضافه شدن به مجموعه تعیین مي شود

صفحه 12:
مثال 0: مجموعه اي از رشته ها Ge<Gtring> = = cew WakSet<Grric>(); Por (Gtricey A up) P (levadd(a)) Gpetew.out.prictha(a); Gpetew.0ul.pricta(s.size() +" distiact words: "+ 2);

صفحه 13:
© Get <Gricng> A= caw WurhGet<Girice>() 5 © Get <Gring> sO = cew WushGet<Gwrice>() ; » Get > ‏موی ربجنر‎ = cew WohGet<Gtriag> (ol); ©» ‏01)22لله. مد‎ ( : ‎Get <Gticg> iter = caw WorhOet<Grric>(s();‏ و ‎ater etain(PH(s© ) ;‏ و ‎Get <GtiagedPP = cew WorhGet<Giriag> (cia);‏ و :)مسر( و

صفحه 14:
‎٩‏ با استفاده از 94) و يكي از پیاده سازي هاي آن » برنامه اي بنویسید که آرایه اي از رشته ها را دریافت کرده و عناصر ‎Dat‏ ‏تكراري آن را چاپ کند ‎٩‏ مهلت ارسال : تا پایان خرداد

JAVA Collections Framework Set Interfaces & Implementations ساختمان داده ها و الگوريتم ها Collection : Collection دسته اي از اشياء هم نوع – { 1و و2و 2و3و4و4و5و ، }5روزهاي هفته عمليات روي Collection – – – – مرتب سازي جستجو حذف و اضافه نمودن اعضا ذخيره و بازيابي Storage/Retrieve مزاياي استفاده از Collections کاهش برنامه نويسي افزايش کيفيت و سرعت برنامه ها ارتباط آسانتر نرم افزارهاي مختلف کاهش زمان يادگيري توابع و متدهاي الزم کاهش زمان طراحي توابع و متدهاي جديد امکان استفاده مجدد از نرم افزارهاي مبتني بر Collections ‏Framework JAVA Collections Framework ، مجموعه ابزارها:JAVA Collections Framework  قراردادها و چارچوبهاي يکسان براي پياده سازي انواع مجموعه هاي پويا Stack, queue, list, hash table, map  Collections – Framework Interfaces  Abstract – Implementation  JAVA – Data Type Representation of Collections class definition of the ADT ‘s Algorithms  How to sort, search ..? – Interface ‏ ‏Interface == ADT ‏ قراردادهايي براي نحوه دسترسي به مجموعه پويا – ‏ مثال Stack ADT :ساختمان داده پشته را تعريف مي کند. – – ‏ نحوه پياده سازي اين قرار دادها در Interfaceذکر نمي شود داده هاي : Stackآرايه اي از اعضا عمليات روي : Stackحذف و اضافه نمودن اعضا ،بررسي پر يا خالي بودن Stack و... JAVA Collections Frameworkچندين ‌Interfaceبراي پشتيباني ساختمان داده هاي معروف تعريف مي کند Core Collection Interfaces ‏ : ‍Collectionمجموعه از اشيا هم نوع – – ‏ تمام عملياتي که روي دسته اي از اشيا به صورت عام قابل انجام است ،در Collection تعريف مي شود انواع خاص تر مجموعه هاي پويا ،از Collectionارث مي برند : Mapتابع ( به مفهوم رياضي)‌را تعريف مي کند – هر عضو دامنه به يک و فقط يک عضو برد اختصاص مي يابد. Collectionهاي خاص :Set يک مجموعه به مفهوم رياضي را تعريف مي کند – عضو تکراري در اين Collectionوجود ندارد :SortedSet نوع خاصي از Setاست که اعضاي به صورت مرتب قرار گرفته اند. – الگوريتم هاي جستجو روي اين مجموعه ها ،بسيار سريعتر از مجموعه هاي نا مرتب کار مي کنند. : List دسته اي از اشياء به صورت مرتب است .برخالف Setدر listمي توان عضوي تکراري داشت queue ( queue صف)ساختار داده اي است که در آن تريب دسترسي به اعضا ،با ترتيب ورود اعضا به queueمعين مي شود – – هر عضوي که زودتر وارد queueزودتر در دسترس قرار مي گيرد اين ساختار ‌First in First Outاست Collection Interface public interface Collection<E> extends Iterable<E> { // Basic operations int size(); boolean isEmpty(); boolean contains(Object element); boolean add(E element); //optional boolean remove(Object element); //optional Iterator<E> iterator(); // Bulk operations boolean containsAll(Collection<E> c); boolean addAll(Collection<E> c); //optional boolean removeAll(Collection<E> c); //optional boolean retainAll(Collection<E> c); //optional void clear(); //optional } // Array operations Object[] toArray(); <T> T[] toArray(T[] a); Set Interface public interface Set<E> extends Collection<E> { // Basic operations int size(); boolean isEmpty(); boolean contains(Object element); boolean add(E element); //optional boolean remove(Object element); //optional Iterator<E> iterator(); // Bulk operations boolean containsAll(Collection<?> c); boolean addAll(Collection<? extends E> c); //optional boolean removeAll(Collection<?> c); //optional boolean retainAll(Collection<?> c); //optional void clear(); //optional } // Array Operations Object[] toArray(); <T> T[] toArray(T[] a); Set Implementation : HashSet اعضاي يك مجموعه را در HashTable نگهداري و مديريت مي كند. – – ازنظر كارايي HashSet ،بهترين پياده سازي است . اين روش ترتيب خاصي روي اعضا اعمال نمي كند : TreeSet اعضاي مجموعه را به صورت مرتب در يك Red- Black Treeنگهداري مي كند – كندتر از HashSetعمل مي كند اما ترتيب اعضا را حفظ مي كند LinkedHashSet اعضاي مجموعه را در يك HashTable مجهز به Linked Listنگهداري مي كند. – تريب اعضا ،بر اساس ترتيب اضافه شدن به مجموعه تعيين مي شود مجموعه اي از رشته ها:1 مثال Set<String> s = new HashSet<String>(); for (String a : args) if (!s.add(a)) System.out.println(a); System.out.println(s.size() + " distinct words: " + s); تفاضل متقارن: 2 مثال  Set <String> s1= new HashSet<String>() ;  Set <String> s2 = new HashSet<String>() ;  Set <String> union = new HashSet<String>(s1);  union.addAll(s2) ;  Set <String> inter = new HashSet<String>(s1);  Inter.retainAll(s2) ;  Set <String>diff = new HashSet<String>(union);  Diff.removeAll(inter); تمرين با استفاده از Setو يكي از پياده سازي هاي آن ،برنامه اي بنويسيد كه آرايه اي از رشته ها را دريافت كرده و عناصر غير تكراري آن را چاپ كند مهلت ارسال :تا پايان خرداد

51,000 تومان