{"id":23384620,"url":"https://github.com/romanturas/goit-algo-fp","last_synced_at":"2025-07-28T08:05:54.109Z","repository":{"id":237473946,"uuid":"794495572","full_name":"RomanTuras/goit-algo-fp","owner":"RomanTuras","description":"GoIt Algorythms Final Project","archived":false,"fork":false,"pushed_at":"2024-05-25T07:19:30.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-08T11:26:15.482Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RomanTuras.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-01T09:59:26.000Z","updated_at":"2024-05-25T07:19:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"5d899c13-a868-4dea-99cf-00689ba32be0","html_url":"https://github.com/RomanTuras/goit-algo-fp","commit_stats":null,"previous_names":["romanturas/goit-algo-fp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RomanTuras/goit-algo-fp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RomanTuras%2Fgoit-algo-fp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RomanTuras%2Fgoit-algo-fp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RomanTuras%2Fgoit-algo-fp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RomanTuras%2Fgoit-algo-fp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RomanTuras","download_url":"https://codeload.github.com/RomanTuras/goit-algo-fp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RomanTuras%2Fgoit-algo-fp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267482004,"owners_count":24094508,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-21T23:28:34.409Z","updated_at":"2025-07-28T08:05:54.085Z","avatar_url":"https://github.com/RomanTuras.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Завдання 1. \nФайл: `task_1.py`\u003cbr\u003e\nСтруктури даних. Сортування. Робота з однозв'язним списком\n\n## Завдання 2. \nФайл: `task_2.py`\u003cbr\u003e\nРекурсія. Створення фрактала “дерево Піфагора” за допомогою рекурсії\n\n## Завдання 3. \nФайл: `task_3.py`\u003cbr\u003e\nДерева, алгоритм Дейкстри\n\n## Завдання 4. \nФайл: `task_4.py`\u003cbr\u003e\n### Аналіз коду\n**Цей код створює і візуалізує бінарне дерево за допомогою бібліотеки `networkx та matplotlib`, що допомагає візуально зрозуміти структуру дерева та його вузли.**\n\n### Клас Node:\n\nВизначає клас Node, який представляє вузол у бінарному дереві.\n\nКожен вузол має три атрибути:\n- **left:** посилання на лівого нащадка.\n- **right:** посилання на правого нащадка.\n- **val:** значення, яке зберігається в вузлі.\n- **color:** додатковий аргумент, що визначає колір вузла.\n- **id:** унікальний ідентифікатор, що генерується за допомогою бібліотеки uuid, для ідентифікації кожного вузла.\n\n#### Функція add_edges:\n\nДодає зв'язки між вузлами дерева у граф networkx.\n\nРекурсивно викликається для кожного вузла та його нащадків.\nПри цьому, враховуються координати (x, y) вузлів для правильного розташування на графі.\n\n#### Функція draw_tree:\n\nСтворює граф `networkx.DiGraph` та визначає початкові позиції для вузлів дерева.\u003cbr\u003e\nВикликає `add_edges` для додавання зв'язків між вузлами.\nВизначає кольори та мітки для вузлів.\u003cbr\u003e\nВикористовує `matplotlib` для візуалізації графа.\n\n#### Створення та відображення дерева:\n\nСтворюється бінарне дерево з декількома вузлами.\u003cbr\u003e\nВикликається функція draw_tree для візуалізації дерева.\u003cbr\u003e\n\n## Завдання 5. \nФайл: `task_5.py`\u003cbr\u003e\nВізуалізація обходу бінарного дерева\n\n## Завдання 6. \nФайл: `task_6.py`\u003cbr\u003e\nЖадібні алгоритми та динамічне програмування\n\n**Жадібний алгоритм:** Вибирає страви на основі максимального співвідношення калорій до вартості, доки не буде вичерпано бюджет. Це швидкий і простий алгоритм, але не завжди дає оптимальне рішення.\n\n**Алгоритм динамічного програмування:** Створює таблицю значень для кожного можливого бюджету і страви, щоб знайти максимальну калорійність. Це точний метод, але вимагає більше часу та пам'яті.\n\n## Завдання 7. \nФайл: `task_7.py`\u003cbr\u003e\nВикористання методу Монте-Карло\n\n**Порівняння з аналітичними ймовірностями**\nРезультати, отримані методом Монте-Карло, будуть дуже близькі до аналітичних ймовірностей, особливо при великій кількості симуляцій. Графік допоможе наочно побачити цю відповідність.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromanturas%2Fgoit-algo-fp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fromanturas%2Fgoit-algo-fp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromanturas%2Fgoit-algo-fp/lists"}