DS Course description.ppt

‫‪Data Structure‬‬
‫)‪(40-254‬‬
‫در اين درس مباني ساختمان داده ها و الگوريتم ها تدریس میشود‪.‬‬
‫‪1‬‬
‫مطالبي كه دانشجو بايد از قبل بداند‬
‫• ساختمان گسسته (بعنوان درس پيش نياز)‬
‫• آشنائي با يكي از زبانهاي برنامه نويس ي مانند‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪C‬‬
‫‪C++‬‬
‫‪Java‬‬
‫‪Pascal‬‬
‫در اين درس سعي ميشود الگوريتم ها مستقل از زبان برنامه نويس ي ارائه گردد‪.‬‬
‫‪2‬‬
‫مراجع‬
• Introduction to Algorithms, T.Cormen, V.Leiserson,
R.Riverst & C.Stein (CLRS)
MIT Press, Sept. 2001,
3
‫مراجع‬
‫‪Foundation of Computer Science,‬‬
‫‪A.V.Aho, D.Ullman, W.H.Freeman & Company, 1992,‬‬
‫• مباني علم كامپيوتر ‪ -‬جلد اول –‬
‫ترجمه منصور جم زاد‬
‫انتشارات دانشگاه صنعتي شريف ‪1381 -‬‬
‫‪4‬‬
‫مراجع‬
‫‪5‬‬
‫ريز مواد درس‬
‫‪ .1‬معرفي درس‬
‫ سطوح تجريد (انتزاع)‬‫ مراحل مختلف حل مسئله و انتزاع‬‫ داده مدل ها )‪ ،(Data Models‬داده گونه ها )‪، (Data Types‬‬‫داده ساختار ها )‪ ، (Data Structures‬داده گونه هاي انتزاعي )‪،(ADT‬‬
‫شئي )‪(Object‬‬
‫‪ .2‬روش هاي تحليل الگوريتم ها‬
‫ تابع رشد ‪ ،‬شمارش مراحل ‪ ،‬رابطه هاي بازگشتي و روش هاي حل آنها (حدس و استقرا) ‪،‬‬‫رابطه هاي همگن‬
‫‪6‬‬
‫ريز مواد درس‬
‫‪ .3‬داده ساختار هاي ليست‬
‫ تعاريف اوليه ‪ ،‬عمليات بر روي ليست‬‫ داده ساختار ها براي ليست ‪ ،‬كار با اشاره گر هاي واقعي‬‫ انواع ليست ها ‪ :‬صف‬‫پشته ‪ ، Heap‬پياده سازي آنها ‪ ،‬ليست هاي كلي‬
‫ پياده سازي رشته ها ُ‬‫‪Garbage Collection -‬‬
‫‪Strings‬‬
‫‪7‬‬
‫ريز مواد درس‬
‫‪.4‬‬
‫داده ساختار هاي درخت‬
‫‪ -‬تعاريف اوليه ‪ ،‬درخت عبارت ‪Expression Tree :‬‬
‫ پياده سازي هاي مختلف درخت ها ‪،‬‬‫استقرا بر روي درخت‬
‫پيمايش درخت‬
‫استقراي ساختاري ‪Structural Induction :‬‬
‫درخت دودوئي ‪ { Binary Tree :‬توليد كد اسمبلي ازدرخت عبارت }‬
‫اعمال مختلف بر روي درخت عبارت‬
‫‪8‬‬
‫ريز مواد درس‬
‫‪ .5‬داده ساختار ها براي فرهنگ داده ها‬
‫ درخت دودوئي جستجو ‪Binary search tree :‬‬‫ درخت دودوئي جستجوي متوازن ‪Balanced binary search tree :‬‬‫ درخت ‪AVL‬‬‫ درخت ” قرمز – سياه ”‬‫ درخت بازه ‪Interval tree :‬‬‫ درخت الفبا ‪Trie :‬‬‫‪ -‬درخت هاي ‪2-3‬‬
‫‪9‬‬
‫ريز مواد درس‬
‫‪ – 6‬ساير داده ساختار ها‬
‫ صف اولويت و درخت نيمه مر تب ‪Priority Queue and :‬‬‫‪Partially Ordered Tree‬‬
‫‪10‬‬
‫ريز مواد درس‬
‫‪ – 7‬الگوريتم هاي مرتب سازي ‪Sorting Algorithms‬‬
‫‪Decision Tree‬‬
‫ درخت تصميم ‪:‬‬‫حبابي ‪Bubble‬‬
‫ الگوريتم هاي ساده مرتب سازی ‪:‬‬‫درجي ‪Insertion‬‬
‫انتخابي ‪Selection‬‬
‫‪-‬‬
‫الگوريتم هاي با مرتبه خطي ‪Count sort :‬‬
‫‪Radix sort‬‬
‫‪sort‬‬
‫‪-‬‬
‫الگوريتم هاي با مرتبه غير خطي ‪Heap sort :‬‬
‫‪Quick sort‬‬
‫‪Bucket‬‬
‫‪Shell sort‬‬
‫‪External sort‬‬
‫‪11‬‬
‫ريز مواد درس‬
Hash tables and related algorithms
12
‫نحوه ارزيابي درس‬
‫• تمرين هاي درس ي (مسائل تئوري ) ‪..................‬‬
‫مسائل برنامه نويس ي ‪2 ......‬‬
‫• آزمون هاي كوتاه ‪ 3 :‬كوئيز ‪ ،‬هر كدام ‪ 1‬نمره ‪........‬‬
‫• آزمون ميان ترم ‪..............................................‬‬
‫• آزمون پايان ترم ‪.............................................‬‬
‫جمع ‪ 20‬نمره‬
‫‪13‬‬
‫‪ 2‬نمره‬
‫‪3‬‬
‫‪5‬‬
‫‪8‬‬
‫كالس هاي حل تمرين‬
‫شنبه ها يا دوشنبه ها ساعت ‪12:00-1:00‬‬
‫ّ‬
‫شركت در كالس هاي حل تمرين قويا ّّ توصيه ميشود‪.‬‬
‫‪14‬‬