Skip to content

Exercises and Homework for SoftUni's Data Structures February 2016 course, in Python

Notifications You must be signed in to change notification settings

stanislavkozlovski/data_structures_feb_2016

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

data_structures_feb_2016

Exercises and Homework for SoftUni's Data Structures February 2016 course, in Python.

Problems with an asterisk (*) are considered hard and optional.

Notable code

Lessons

Overview of the course, introduction to the Big-O notation and why algorithm speed matters.

Exercises

  • Given slow and fast functions, compare their speed.

Homework

  • Given functions, figure out their Big-O complexity.

Linked List, how a List(Vector) works and how it differs from a traditional array.

Exercises

Homework

Analysis of both data structures, their complexities and when to use which.

Exercises

Homework

Introduction to Trees, Binary Trees, Balanced Binary Trees(AVL, AA, B, RB) and Graphs

Exercises

Homework

  • Play with Trees, a program which can find
    • The root node
    • All leaf nodes (in increasing order)
    • All middle nodes (in increasing order)
    • The longest path in the tree (the leftmost if several paths have the same longest length)
    • All paths in the tree with given sum P of their nodes (from the leftmost to the rightmost)
    • All subtrees with given sum S of their nodes (from the leftmost to the rightmost)
  • Traverse Directory - Build a tree from directories and calculate the sum of file sizes.
  • ***Calculate Arithmetic Expression - calculate arithmetic expressions using the Shunting Yard Algorithm

In-depth analysis of DFS and BFS

Exercises

Homework

  • Find the Root - Figure out if the given graph is a tree and find it's root
  • Round Dance - Find the longest 'round dance'
  • Ride The Horse - Traverse matrix in a way a horse chesspiece would
  • Longest Path In Tree - Find the longest path in a tree from leaf to leaf by the sum of the nodes.
  • *Sorting - Each step, take K elements in the array and reverse them. Find the minimum number of such steps to completely sort the array.

Dictionary implementations, how hash-tables work (collision strategies) and set implementations.

Exercises

Homework (Use the Hash Table you created from the exercises)

Ordered dictionaries, multi-dictionaries, ordered multi-dictionaries, sets, ordered sets, bags, ordered bags, rope.

Exercises

Homework

Learned about AA, AVL and Red-Black trees. Ropes.

Exercises

Learned about B-Trees, Heaps, Tries, Suffix Trees and Space-Partitioning Trees (Quad Tree, K-d Tree, etc.)

Exercises

Homework

About

Exercises and Homework for SoftUni's Data Structures February 2016 course, in Python

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published