ابزار کاربر

ابزار سایت


دانشکده:دروس:22822:14002:main

درس ساختمان داده‌ها نیمسال 14002

مدرس ایمیل
دکتر زهرا رضوانی zrezvani@ipm.ir

توضیحات درس

زمان و محل برگزاری کلاس

کلاس درس در روز های یک‌شنبه و سه‌شنیه، از ساعت 10:30 الی 12:30 برگزار می‌شود. لینک کلاس مجازی درس متعاقباً اعلام می‌شود.

سرفصل‌ها

  1. مقدمات و آشنایی
  2. آشنایی مقدماتی با روش‌های حل مسئله
  3. روش‌های تحلیل زمانی الگوریتم‌ها
    • معرفی نمادها
    • تحلیل روابط بازگشتی: استقرا، درخت بازگشت، قضیه اصلی، جای‌گذاری
    • تحلیل زمانی مرتب‌سازی‌های معروف
    • تحلیل سرشکن
  4. داده ساختارهای ابتدایی
    • آرایه، لیست پیوندی، پشته، صف
  5. انواع درخت‌ها
    • درخت‌هایی دودویی
    • درخت دودویی جستجو
    • پیاده‌سازی درخت‌ها با استفاده از داده ساختارهای ابتدایی
    • مرتب‌سازی درخت دودویی جستجو
    • هرم بیشینه و کمینه (Min/Max Heap)
    • پیاده‌سازی هرم با استفاده از داده ساختارهای ابتدایی
    • مرتب‌سازی هرمی
    • آشنایی با درخت Red-Black
  6. درهم‌سازی
    • آشنایی با مقدمات درهم‌سازی
    • جدول درهم‌سازی، آشنایی با مفهوم تصادم
    • روش‌های هندل کردن تصادم
    • هش جهانی (Universal)، هش دوگانه، هش کامل
  7. مرتب‌سازی
    • معرفی چند نوع مرتب‌سازی جدید
    • تحلیل مرتب‌سازی‌های گفته شده (درجا بودن، پایدار بودن)
    • مرتب‌سازی سریع (Quick Sort)
    • مرتب‌سازی خطی
    • انتخاب k-امین عنصر آرایه (Select)
  8. گراف
    • آشنایی با مقدمات گراف
    • راس برشی، BFS، DFS
    • درخت پوشای کمینه، الگوریتم پرایم، الگوریتم کراسکال
    • کوتاه‌ترین مسیر در گراف، Bellman Ford ،Dijkstra ،Floyd-Warshall

پیش‌نیاز

تسلط به یک زبان برنامه نویسی (Java یا C++)

ارزشیابی

  1. تمرین: 20 درصد
    • 6 سری تمرین نظری و عملی
    • تحویل تمرین ها فقط در زمان مقرر از طریق سامانه درس قابل قبول است.
    • به هیچ وجه تمرین ها را مستقیما به ایمیل استاد درس یا دستیارهای آموزشی نفرستید.
  2. پروژه نهایی: 15 درصد
    • یک پروژه عملی به صورت گروهی در انتهای ترم
  3. آزمونک: 15 درصد
    • در انتهای هر مبحث یک آزمونک برگزار می‌شود.
  4. میان‌ترم: 20 درصد
  5. پایان‌ترم: 35 درصد
    • امتحان پایان‌ترم در روز 1401/04/12 و در ساعت 15:30 برگزار خواهد شد.
  6. حضور در کلاس و فعالیت کلاسی: 10± درصد

(مجموعاً 115 درصد)

دستیاران آموزشی

نام دستیاران ایمیل
محمدعلی خدابنده‌لو mohammad.khodabandelou@sharif.edu
محمدعلی علما rastegar123456789@gmail.com
عرفان احمدی ahmadier80@gmail.com
علی شفیعی shafieiali42@gmail.com
مریم ابراهیمی maryame797@gmail.com
امیررضا خاجویی amir.khaju@gmail.com
رضا پیشکو rezapishkoo17@gmail.com
سینا قاسمی‌نژاد sina.ghaseminejad@yahoo.com

منابع

T. Cormen, C. Leiserson, R. Riverst, and C. Stein. Introduction to Algorithms. 3rd Edition, MIT Press, 2011. (CLRS)

M.T.Goodrich and R.Tamassia. Data Structures and algorithms in Java.

M.T.Goodrich, R.Tamassia and D. M. Mount. Data Structures and algorithms in C++.

محمد قدسی، «داده‌ساختارهای و مبانی الگوریتم‌ها»، چاپ چهارم، انتشارات فاطمی، ۱۳۹۳.

/opt/bitnami/dokuwiki/data/pages/دانشکده/دروس/22822/14002/main.txt · آخرین ویرایش: 2022/09/07 10:44 توسط 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki