SlideServe
Menu
Préférences
© SlideServe · v2026

Algorithm Design and Analysis

leeroberts avatar
11 diapositives · 184 Views · Jan 03, 2020

Learn to design correct & efficient algorithms, analyze complexity, study well-known algorithms, & understand data structures. Exam includes lab sessions, assignments, & optional projects.

Algorithm Design and Analysis - slide 1
01 / 11Algorithm Design and Analysis
1 / 17

Télécharger la présentation

Algorithm Design and Analysis
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Algorithm Design and Analysis 4th Semester Computer Engineering Spring 2017 Conf.dr.ing. Ioana Ṣora ioana.sora@cs.upt.ro http://staff.cs.upt.ro/~ioana/algo/

  2. Our goal: designalgorithms that are correct andefficient

  3. Analyzing Algorithms • We need methods and metrics to analyze algorithms for: • Correctness • Methods for proving correctness • Efficiency • Time complexity, Asymptotic analysis

  4. Designing Algorithms • Ok, so you will know (will learn) how to analyze a given algorithm. • But where do these algorithms come from ? • Clever people already designed a plethora of solutions (algorithms) for different problems and we find them in textbooks, internet, etc. • But how will you design solutions for new problems ?

  5. How to learn algorithms ? http://www.neatorama.com/twaggies/2010/11/07/no-112-robcorddry/

  6. Kruskal’s algorithm Prim’s algorithm Design methods: • Backtracking = Forbidden  • Greedy • Design by Induction • Divide and Conquer • Dynamic Programming Floyd’s algorithm Dijkstra’s algorithm Tarjan’s algorithm

  7. What about data structures ? • Fundamental data structures: • Model fundamental data • Examples: lists, queues, stacks, hashtables, etc • In this class you can make use of libraries providing implementations of these (such as: Java Collections, C++ STL Containers) • Special data structures: • Created to optimize a specific (set of) operation(s) for a specific context of a specific class of algorithms • Examples: Search trees, balanced trees, optimal trees, disjoint sets, etc

  8. Course Goals • Learn to design algorithms that are correct and efficient • How do we know that: • an algorithm is correct ? -> correctness proofs • an algorithm is efficient ? -> analysis of algorithms (time complexity) • How to design solutions for new problems ? • Learning general techniques for design • Studying a set of well-known algorithms, to serve as examples of success stories for applying general design techniques • Become aware that good algorithms are key parts of software engineering practice !

  9. Examination and Grading • Final grade = 2/3 final written exam + 1/3 work during the semester • Written exam: • Short questions and Algorithm design problems • Work during the semester: • Each lecture topic is followed (next week) by an associated lab session. Have to come prepared to the lab ! • Lab class activity, including quizzes - weight: 40 % • Lab assignments, including homeworks - weight: 50 % • Tool projects – optional – weight: 10 % • Optional award points: for exceptional activity = doing more than one optional tool project during the semester, you can gain extra-points to the grade of your final written exam

  10. Textbooks [Manber] [Unlocked] [McCormick] [CLRS]

  11. Course Webpage All official information related to the Algorithm Design and Analysis classes: http://staff.cs.upt.ro/~ioana/algo/