معرفي درس ساختمان داده ها و الگوريتمها

Slides:



Advertisements
Similar presentations
Queue theory.
Advertisements

Logic Block Architectures. 2 Crosspoint Solution  Requires the use of large amounts of programmable interconnect −  suffer from area-inefficiency 
در جامعه، افرادي که موقعيت و مسؤليت خود را مي‌دانند از راحتي و امنيت بيشتري برخوردارند هر کلاس از جامعه، مجموعه‌اي از امکانات و تواناييهاي مجاز برخوردار.
دستور العمل نحوه محاسبه امتیاز مقالات ISI اعضای هیأت علمی دانشگاه صنعتی اصفهان بر اساس تعداد استنادات در پايگاه اسكاپوس شهریور ماه 1388 نفیسه دهقان.
1 آزمايشگاه سيستم های هوشمند ( Domain-specific Architecture.
به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ الناز دل پيشه آقاي دکتر.
طراحي و مدل کردن مؤلفه ها فصل 7 معماري نرم افزار هاي بزرگ دانيال مؤذن استاد : دکتر عبدالله زاده.
مهندسی نرم افزار مبتنی بر عامل
ارائه روشي براي شناسايي کاراکترهاي دستنويس، برپايه شبکه LVQ.
ارائه درس روباتيکز Extended Kalman Filter فريد ملازم استاد مربوطه دکتر شيري دانشگاه امير کبير – دانشکده کامپيوتر و فناوري اطلاعات.
طراحي و ساخت سيستم‌هاي تجارت الکترونيک ساخت سيستم‌هاي تجارت الکترونيک ECSE.
1 فصل 8 - طراحي زيرسيستم ها برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony فرنوش گلشن آزمايشگاه سيستم هاي هوشمند بهار.
نام و نام خانوادگي : فريد ملازم 1 آزمايشکاه سيستم هاي هوشمند ( موضوع ارائه Process and Deployment Design.
مديريت پروژه‌هاي فناوري اطلاعات فرآيند مديريت پروژه-مرحله برنامه‌ريزي تخصيص منابع.
مراحل مختلف اجرای يک برنامه
مديريت پروژه‌هاي فناوري اطلاعات فرآيند مديريت پروژه-مرحله برنامه‌ريزي.
مديريت پروژه‌هاي فناوري اطلاعات فرآيند مديريت پروژه-مرحله برنامه‌ريزي.
نقشه‌برداري و مكان‌يابي همزمان به کمک الگوريتم ژنتيک
Artificial Intelligent Systems Laboratory 1 الگو‌هاي فرايند (Process Patterns) فصل 2 درس مهندسي نرم‌افزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده :
فارسی سازی يکپارچه در سيستم عاملهای OS/390 & Windows واحد 1 مهندسی سيستم Integrated Farsi support on OS/390 & Windows.
1 فصل دوم تبديلات. 2 فصل دوم سرفصل مطالب مقدمه ضرب بردارها دستگاه ‌ هاي مختصات دوران ‌ ها مختصات همگن دوران ‌ ها و انتقال ‌ ها تبديلات تركيبي همگن تبديل.
شرط و تصميم اصول كامپيوتر 1. 2 الگوريتم اقليدس E1: [find remainder] Divide m by n and let r be the remainder. Clearly, 0
1/19 Informed search algorithms Chapter 4 Modified by Vali Derhami.
Department of Computer Eng. & IT Amirkabir University of Technology (Tehran Polytechnic) Data Structures Lecturer: Abbas Sarraf Order.
سيستم خبره مرکب ( ترکيب پيشرو و پسرو ) زماني که يک فرضيه احتمالي براي جواب داشته باشيم، روش backward مي تواند خيلي کاراتر و مناسبتر باشد. اگر هيچ احتمال.
پشته Stack ساختمان داده ها و الگوريتمها. 2 آشنايي مجموعه پويا (Dynamic Set ): مجموعه اي است كه تركيب و تعداد عناصر آن ممكن است در طول زمان اجراي برنامه.
1 فصل سوم سينماتيك مستقيم. 2 محتواي فصل   تعريف مجموعه فازي   تابع عضويت   نمايش مجموعه هاي فازي   برش آلفا   متغيرهاي زباني   ساخت مجموعه.
Image Enhancement in the
ساختمان داده ها و الگوريتمها
Frameworks And Patterns
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
بنام خدا زبان برنامه نویسی C (21814( Lecture 12 Selected Topics
اصول کامپيوتر 1 – معرفي درس
مرتب سازي مقايسه اي مرتب سازي خطي
آرايه ها و ساختارها.
دانلود جدیدترین مقالات برق الکترونیک و کامپیوتر
آموزش EndNote محمد علي نژاد.
آرايه ها.
ANOVA: Analysis Of Variance
ليست هاي پيوندي.
فصل سوم : صف وپشته اهداف آشنايي با پشته آشنايي با صف ارزشيابي عبارات 1.
ANOVA: Analysis Of Variance
وحید حقيقت دوست دانشکده فنی و مهندسی دانشگاه شاهد
Quick Sort مرتب سازي سريع.
دستورات کنترل و تکرار- 2 اصول كامپيوتر 1.
لغت نامه و جدول درهم سازي Dictionaries and Hash Tables
آشنايي با برنامه نويسي به زبان C++
پردازنده هاي چند هسته اي
تکنیک دیماتل DEMATEL: decision making trial and evaluation laboratory.
تبدیل فوریه (Fourier Transform)
نمايش اعداد در کامپيوتر چهار عمل اصلي
(Structured Query Language)
سميرا قانوني زهرا معدني
آموزش نرم افزار EndNote
هیدرولیک جریان در کانالهای باز
آشنایی با پایگاه ساینس دایرکت
فيلتر كالمن معرفي : فيلتر كالمن تخمين بهينه حالت‌ها است كه براي سيستم‌هاي ديناميكي با اختلال تصادفي در سال 1960 بزاي سيستم‌هاي گسسته و در سال 1961 براي.
وبلاگ جامع مهندسی برق و الکترونیک
با تشکر از دکتر جواد سلیمی
اشياء و کلاس ها.
به نام خدا اين فايل راهنما جهت آشنايی کاربران گرامی با پايگاه اطلاعاتی Sciencedirect و نحوه جستجوی اطلاعات در آن تهيه شده است لطفاً اسلايدهای بعد را مشاهده.
آشنايي با نرم افزار.
نرم افزار عملي دوره كارداني كامپيوتر دانشگاه کردستان دانشكده فني
بنام خدا زبان برنامه نویسی C (21814( Lecture 1 Chapters 1&2
در اين درس مباني ساختمان داده ها و الگوريتم ها تدریس میشود.
Petri Nets: Properties, Analysis and Application
آزمايشگاه مهندسي نرم افزار
گزارش کار آزمايشگاه مکانيک خاک
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
Presentation transcript:

معرفي درس ساختمان داده ها و الگوريتمها

اهداف درس هر برنامه اي که کاري انجام مي دهد، با داده ها سر و کار دارد. بنابراين لازم است داده ها به يک شکل نمايش داده شوند. براي کار با داده ها از الگوريتم هايي استفاده مي کنيم. بنابراين همه برنامه ها داد ها را به شکلهاي گوناگون نمايش مي دهند و از الگوريتمهايي براي کار با داده استفاده مي کنند. برنامه خوب ، برنامه اي است که : کار خواسته شده را بدرستي انجام دهد. در زمان معقول پاسخ دهد و از منابع موجود به اندازه نيازش استفاده کند با ديگر برنامه ها، به صورت مسالمت آميز اجرا شود. ....

مطالعه ساختمان داده ها براي توليد نرم افزار هاي خوب اهداف درس مطالعه ساختمان داده ها براي توليد نرم افزار هاي خوب آشنايي با روشهاي سازماندهي داده هاي مورد استفاده برنامه ها توانايي مقايسه برنامه ها از نظر ميزان استفاده از حافظه، زمان اجرا، قابل فهم بودن و ... توانايي تعريف، پياده سازي و استفاده از نوع داده هاي تجريدي آشنايي با امکانات زبانهاي برنام نويسي براي پشتيباني از ساختمان داده هاي گوناگون

معرفي درس اين درس براي گروههاي رياضي کاربردي و علوم کامپيوتر به صورت جداگانه ارائه شده است در کلاسهاي مربوط به گروه خود شرکت کنيد و تمرينها و پروژه هاي گروه خود را انجام دهيد

معرفي درس فرض بر اين است که : زبان مورد استفاده در اين درس JAVA است. با يک زبان شي گرا(C++/JAVA) آشنا هستيد. قادر به تايپ، کامپايل، اجرا و اشکال زدايي برنامه با استفاده از يک IDE تحت Windows هستيد. زبان مورد استفاده در اين درس JAVA است. حضوردانشجويان در تمامي جلسات درس الزامي است. وب سايت درس: http://muharram.googlepages.com/datastructures.htm

منابع درس کتب مرجع: CLRS : Introduction to Algorithms (2nd Ed.) MIT Press M. T. Goodrich and R. Tamassia Data Structures and Algorithms in Java (4th Ed.) JW M. T. Goodrich, R. Tamassia and D. M. Mount Data Structures and Algorithms in C++ Michael , JW Programming: Deitel & Deitel, Java How to Program, 6th Ed. C. S. Horstmann and G. Cornell, Core Java™ 2 V.I, 7th Ed.

ارزشيابي تمرين: 10% نمره پروژه: 30% نمره امتحان: 60% نمره حداکثر مهلت تحويل هر تمرين، يک هفته بعد از تعيين است. پروژه: 30% نمره براي هر مبحث اصلي درس يک پروژه تعريف مي شود. مهلت هر پروژه جداگانه تعيين مي شود. تحويل پروژه بعد از پايان مهلت، مشمول جريمه ديرکرد خواهد شد. امتحان: 60% نمره ميان ترم و پايان ترم

لطفا.... برنامه هاي خواسته شده را خودتان بنويسيد. از هيچ سايت و منبعي،کدي کپي نکنيد! تمرينهاي ديگران را انجام ندهيد! مراقب برنامه ها و تمرينهاي خود باشيد! کدهاي دريافتي با ابزارهاي اتوماتيک آناليز شده و کپي هاي احتمالي کشف خواهند شد

سرفصل مطالب فشرده سازي داده ها پردازش متون ساختار داده هاي پيچيده اهميت ساختار داده ها شي گرايي نوع داده هاي پايه آرايه ها، بردارها و ماتريسها مرتب سازي و جستجو پشته و صف درخت و گراف صف اولويت دار

اهميت ساختمان داده ها- مثال 1 اسامي دانشجويان دانشگاه، در ليستي نگهداري مي شود معمولا ..... دانشجوهاي جديد به اين ليست اضافه مي شوند دانشجويان فارغ التحصيل از اين ليست حذف مي شوند براي آگاهي از سوابق دانشجويان، بايد اين ليست را جستجو کرد. فرض کنيد: رکورد هر دانشجو با شماره دانشجويي او شناخته مي شود اين شماره، عددي دورقمي است

اهميت ساختمان داده ها- مثال 1 روش اول : براي نگهداري اطلاعات دانشجويان از آرايه اي به طول 100 عضو استفاده مي کنيم براي افزودن دانشجوي جديد، اولين محل خالي آرايه را پيداه کرده و رکورد او را ثبت مي کنيم هنگام حذف نمودن، خانه آرايه مربوط به رکورد مورد نظر را خالي مي کنيم براي پيدا کردن رکورد خاص، لازم است تک تک اعضاي آرايه را بررسي کنيم در ليستهاي بزرگ اين کار مقرون به صرفه نيست

اهميت ساختمان داده ها- مثال 1 روش دوم : براي نگهداري اطلاعات دانشجويان از آرايه اي به طول 100 عضو استفاده مي کنيم هنگام حذف و اضافه نمودن رکوردها، ترتيب آرايه را بر اساس شماره دانشجويي حفظ مي کنيم لازم است عملياتي اضافي براي حفط ترتيب انجام دهيم براي پيدا کردن رکورد خاص، لازم است تنها بخشي از آرايه را جستجو کنيم(چرا؟) عمل حذف و اضافه نمودن رکوردها معمولا در مقاطعي خاص(مثل شروع سال تحصيلي ) انجام مي گيرند اما عمل جستجو همواره مورد نياز است. استفاده از آرايه مرتب کاراتر از روش اول است

اهميت ساختمان داده ها- مثال 2 تابع زير براي محاسبه توان نوشته شده است: long power (long x, long y ) { long k = 1 ; for (long n=1 ; n <= y ; n++) k = k * x ; return k ; } اين تابع براي محاسبه 416 ، 16 بار عمل ضرب انجام مي دهد

اهميت ساختمان داده ها- مثال 2 تابع زير نيز براي محاسبه توان نوشته شده است: long power (long x, long y ) { long k = 1 ; while ( y > 1 ) { if ( y %2 == 0 ) {x = x * x ; y = y /2 ;} else { k = k * x ; x = x * x ; y = (y-1) /2 ;} } return k * x ; اين تابع براي محاسبه 416 ، 8 بار عمل ضرب يا تقسيم انجام مي دهد

خلاصه... با استفاده از آرايه مرتب(مثال 1) مي توان کارايي برنامه مديريت اطلاعات را بهبود بخشيد. با نگهداري نتيجه محاسبات پيشين(مثال 2)، مي توان از انجام دوباره آنها جلوگيري و در زمان صرفه جويي کرد.

نخستين تمرين دو تابع توان را از نظر تعداد عمل ضرب با هم مقايسه کنيد: براي n=1,5,10,15,100,200,…,1000 عبارت 2n را با هر يک از توابع مذکور محاسبه کنيد و تعداد عمل ضرب هرکدام را در جدولي به شکل زير نشان دهيد: تمرين 1 را بفرستيد: آدرس ايميل من : mansoorm@modares.ac.ir عنوان ايميل گروه رياضي: [ds-math-assign01] عنوان ايميل گروه کامپيوتر: [ds-cs-assign01] n تابع 1 تابع 2 1 ... 5 10