Giter Club home page Giter Club logo

aal_lots's Introduction

Wizytówka

Jarosław Glegoła 293092

Problem

zadanie

Parametry programu

Mode 1 - dane z pliku - flaga = "-m1"

  1. -f -> nazwa pliku z którego chcemy wczytać dane

Mode 2 - losowy przypadek flaga = "-m2"

  1. -w - szerokość prostokąta
  2. -ht - wysokość prostokąta
  3. -p - liczba losowych punktów do wygenerowania

Mode 3 - losowy przypadek flaga = "-m3"

  1. -w - startowa szerokość prostokąta
  2. -ht - startowa wysokość prostokąta
  3. -p - startowa liczba losowych punktów do wygenerowania
  4. -wstep - liczba o jaką będzie się zwiększać szerokość z każdą następną iteracją
  5. -hstep - liczba o jaką będzie się zwiększać wysokość z każdą następną iteracją
  6. -pstep - liczba o jaką będzie się zwiększać liczba punktów z każdą następną iteracją
  7. -k - liczba iteracji
  8. -r - liczba powtórzen każdej z iteracji

Wybór algorytmu:

  1. -bt - problem będzie rozwiązywany metododą brute force
  2. -io - problem będzie rozwiązywany metododą inside out

Rozwiązanie problemu

Szczegółowe informacje w dokumentacji

Do rozwiązania problemu użyłem trzech sposobów:

  1. Brute force - z pośród wszystkich dostępnych spełniających wymagania 1,2,4 wyszukaj największy z nich, który spełnia wymaganie 3
  2. Inside out - dla każdego punktu z P znajdz dla niego największą działkę która zawiera go w sobie

Algorytmy i struktury danych

Struktury danych

FixedDeque - autorska struktura danych implementująca wariację deque, czyli double-ended queue. Ma ona za zadanie dostarczać takiej samej funkcjonalności jak zwykła deque, lecz kopiowanie jej ma być w stałym czasie + nie można dodawać do niej elementów.

Algorytmy ze standardowej biblioteki

bisect - https://docs.python.org/2/library/bisect.html

insort - https://docs.python.org/2/library/bisect.html

Przewodnik po plikach

.
├── data
│   ├── plots
│   │   ├── DrawSolution.py - klasa rysująca rozwiązanie na grafie
│   └── random_generator - pliki związane z generacją danych
│       └── random_problem.py
├── modes - pliki związane z wejściem użytkownika - flagi, parametry itp.
│   ├── command_line_config.py
│   ├── filemode
│   │   ├── FileMode.py
│   │   ├── FileReader.py
│   └── tablemode
│       ├── Analizer.py
└── solutions - pliki związane z rozwiązaniami problemu
    ├── BruteForceResolver.py - klasa rozwiącująca problem metodą brute force
    ├── InsideOutResolver.py - klasa rozwiącująca problem metodą Inside out
    └── models
        ├── Side.py - enum reprezentujący poszczególne boki prostokąta
        ├── Square.py - klasa reprezentująca prostokąt

aal_lots's People

Contributors

kostkabrukowa avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.