Skip to content

CasperKristiansson/Algorithms-and-Data-Structures-ID1021

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ID1021 Algorithms and Data Structures

A basic course in computer science, that will give prerequisites for several advanced courses in computer science. The course will cover both theory on algorithms and data structures as well as practical software design.

Course contents

Basic algorithm analysis:

  • Simpler analysis with respect to the resource needs of algorithms in the form of time and memory.

Fundamental algorithms:

  • simple numerical algorithms
  • sequential and binary search algorithms
  • Depth first search and Width first search.
  • sorting algorithms: selection sorting, insertion sorting, Quicksort, heapsort, mergesort.

Fundamental data structures:

  • linear lists, stacks, queues, hash tables, binary tree, heaps, binary search trees and problem trees.

Program Design:

  • design and implementation of programmes that use basic algorithms and data structures to solve computer science problems.

https://www.kth.se/student/kurser/kurs/ID1021

Labs

Lab 1 - Fundamentals

  • Basic programming model & Data Abstraction
  • Bags, Queues, Stacks
  • Analysis of Algorithms

Lab 2 - Sorting

  • Elementary sorts
  • Mergesort
  • Quicksort
  • Priority queues

Lab 3 - Searching

  • Symbol Tables and Binary Search Trees
  • Hash tables and Applications

Lab 4 - Graphs

  • Undirected graphs
  • Directed graphs