Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Algorithms and Data Structures

    A tantárgy neve magyarul / Name of the subject in Hungarian: Algoritmusok és adatstruktúrák

    Last updated: 2010. november 9.

    Budapest University of Technology and Economics
    Faculty of Electrical Engineering and Informatics

    Mérnök informatikus szak

    BSc képzés

    Course ID Semester Assessment Credit Tantárgyfélév
    VISZA079   3/1/0/v 4  
    3. Course coordinator and department Dr. Csima Judit,
    Web page of the course www.cs.bme.hu/....
    4. Instructors
    Name

     

    Position

     

    Department

     

    Katalin FRIEDL

     

    Assoc. professor

     

    Department of Computer Science and Information Theory

     

    Tamás FLEINER

     

    Assoc. professor

     

    Department of Computer Science and Information Theory

     

    Judit CSIMA

     

    Assoc. professor

     

    Department of Computer Science and Information Theory

     

    Ildikó SCHLOTTER

     

    Assistant lecturer

     

    Department of Computer Science and Information Theory

     

    Gábor WIENER

     

    Assoc. professor

     

    Department of Computer Science and Information Theory

     

    5. Required knowledge None
    7. Objectives, learning outcomes and obtained knowledge

    Basic techniques and data structures will be presented in the first half of the course (introduction to algorithms, dynamic programming, search in unordered lists - worst case and average case, search trees, sorting algorithms, lower bound on number of comparisons)

    The second half of the course will focus on graph algorithms and geometric algorithms. Among the graph algorithms special emphasis will be given to BFS and its applications (connected components, shortest paths, recognizing bipartite graphs, finding maximum matching in bipartite graphs), DFS and its applications (strongly connected components, directed acyclic graphs, shortest and longest paths in directed acyclic graphs), shortest paths in weighted graphs and minimum spanning trees. The geometry part will include geometric problems in the plane, intersection of line segments, closest pair of points and determining the convex hull of points.

     
    8. Synopsis

    First half-semester – Basic techniques and data structures
    1. Introduction to algorithms
        Recursion
        Divide and conquer
        Analyzing algorithms
    2. Dynamic programming
        Longest common superstring
        Edit distance of strings
        String matching
    3. Graph algorithms
    BFS and its applications
        Connected components
        Shortest paths
        Recognizing bipartite graphs
        Finding maximum matching in bipartite graphs
    4. DFS and its applications
        Strongly connected components
        Directed acyclic graphs
        Shortest and longest path in directed acyclic graphs
    5. Shortest path in weighted graphs
        Bellman-Ford algorithm
        Floyd's algorithm
        Dijkstra's algorithm
    6. Minimum spanning trees
        Basic properties
        Greedy algorithms (Jarnik-Prim, Kruskal)

    Second half-semester – Graph algorithms and geometric algorithms

    7. Search in unordered list: worst case and average case
        Finding the smallest and the largest element in a list
        Finding the median in linear time in ordered list
    8. Search trees
        B-tree
        Hashing
    9. Sorting algorithms:
        Bubble sort
        Insertion sort
        Merge sort
        Quicksort
    10. Lower bound on number of comparisons
        Binsort and radix sort11. Union-find data structure
        Geometric problems in the plane
        Intersection of line segments
    12. Closest pair of points
        Determining the convex hull of points

     

    9. Method of instruction

    Lectures and recitations

    10. Assessment The grades  will be determined based on homework assignments (50%) and a final exam (50%).

     

    12. Consultations

    You can reach the instructors at the following e-mail address for consultation:
    Katalin FRIEDL: friedl@cs.bme.hu

    13. References, textbooks and resources T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein: Introduction to Algorithms,  MIT Press, 2003     or 

     

    J. Kleinberg, E. Tardos: Algorithm Design, Pearson, 2006

     

    14. Required learning hours and assignment
    Number of contact hours56
    Preparation to the classes 
    Preparation to the tests 
    Homework34
    Assigned reading 
    Preparation to the exam30
    Total120
    15. Syllabus prepared by
    Katalin FRIEDLAssoc. professorDepartment of Computer Science and Information Theory