DATA STRUCTURES AND ALGORITHMS LAB 6 Bianca Tesila FILS, March 2014
OBJECTIVES  Linked Lists
LINKED LISTS: INTRODUCTION  What is a list?  What is a linked list?
LISTS: IMPLEMENTATION  Linked Lists  Each node contains the information and the link to its neighbors (doubly linked lists) or to the next element in the list (singly linked lists )  The nodes are allocated dynamically  Dynamic Arrays  The nodes are stocked in arrays  If, when adding a new element, the size of the array is exceeded, the array is reallocated What are the advantages and disadvantages of each implementation?
LISTS: BASIC OPERATIONS o Add – adds an element (entity) to the list: at the beginning, at the end or at an arbitrary position o Remove – removes an element (entity) from the beginning/end of the list or by taking into account its index/content o Get – retrieves an element by taking into account its index o Update – updates the information/content of an element !! These operations depend on the chosen implementation.
LINKED LISTS: TYPES  Singly-linked linear lists  Doubly-linked linear lists
LINKED LISTS: TYPES  Singly-linked circular lists  Doubly-linked circular lists
LINKED LISTS !!Exercise: Taking into account the elements of a linked list, store them in two separate linked lists - one for the even elements and another one for the odd elements.
HOMEWORK  Imagine you have a task list. Each task has a priority and a description. You would like to solve these tasks according to their priority.  Whenever you solve a task, you remove it from the list.  Implement an application for managing a task list using a linked list.

Data structures and algorithms lab6

  • 1.
    DATA STRUCTURES ANDALGORITHMS LAB 6 Bianca Tesila FILS, March 2014
  • 2.
  • 3.
    LINKED LISTS: INTRODUCTION What is a list?  What is a linked list?
  • 4.
    LISTS: IMPLEMENTATION  LinkedLists  Each node contains the information and the link to its neighbors (doubly linked lists) or to the next element in the list (singly linked lists )  The nodes are allocated dynamically  Dynamic Arrays  The nodes are stocked in arrays  If, when adding a new element, the size of the array is exceeded, the array is reallocated What are the advantages and disadvantages of each implementation?
  • 5.
    LISTS: BASIC OPERATIONS oAdd – adds an element (entity) to the list: at the beginning, at the end or at an arbitrary position o Remove – removes an element (entity) from the beginning/end of the list or by taking into account its index/content o Get – retrieves an element by taking into account its index o Update – updates the information/content of an element !! These operations depend on the chosen implementation.
  • 6.
    LINKED LISTS: TYPES Singly-linked linear lists  Doubly-linked linear lists
  • 7.
    LINKED LISTS: TYPES Singly-linked circular lists  Doubly-linked circular lists
  • 8.
    LINKED LISTS !!Exercise: Taking intoaccount the elements of a linked list, store them in two separate linked lists - one for the even elements and another one for the odd elements.
  • 9.
    HOMEWORK  Imagine youhave a task list. Each task has a priority and a description. You would like to solve these tasks according to their priority.  Whenever you solve a task, you remove it from the list.  Implement an application for managing a task list using a linked list.