{"id":38914649,"url":"https://github.com/spirosmaggioros/bubble","last_synced_at":"2026-01-17T15:24:56.713Z","repository":{"id":253689369,"uuid":"844149300","full_name":"spirosmaggioros/bubble","owner":"spirosmaggioros","description":"bubble is a new data structure based on the idea of fibonacci heaps","archived":false,"fork":false,"pushed_at":"2024-08-22T16:23:39.000Z","size":1152,"stargazers_count":5,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-05T01:37:26.001Z","etag":null,"topics":["avl-tree","binary-search","binary-search-tree","data-structures","fibonacci-heap","heap","tree","tree-structure"],"latest_commit_sha":null,"homepage":"https://spirosmaggioros.github.io/bubble/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spirosmaggioros.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"citation.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-08-18T14:33:38.000Z","updated_at":"2025-02-26T03:55:59.000Z","dependencies_parsed_at":"2025-04-13T05:00:47.054Z","dependency_job_id":"0730490c-b89f-42c9-b080-2d55ec507a52","html_url":"https://github.com/spirosmaggioros/bubble","commit_stats":null,"previous_names":["spirosmaggioros/bubble"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/spirosmaggioros/bubble","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spirosmaggioros%2Fbubble","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spirosmaggioros%2Fbubble/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spirosmaggioros%2Fbubble/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spirosmaggioros%2Fbubble/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spirosmaggioros","download_url":"https://codeload.github.com/spirosmaggioros/bubble/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spirosmaggioros%2Fbubble/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28511419,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T13:38:16.342Z","status":"ssl_error","status_checked_at":"2026-01-17T13:37:44.060Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["avl-tree","binary-search","binary-search-tree","data-structures","fibonacci-heap","heap","tree","tree-structure"],"created_at":"2026-01-17T15:24:56.001Z","updated_at":"2026-01-17T15:24:56.704Z","avatar_url":"https://github.com/spirosmaggioros.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"### bubble: A new data structure based on the idea of fibonacci heaps\n![bubble](assets/bubble.jpg)\n\n## Overiew\nbubble is a data structure that uses an array and avl trees to store elements. You have to define\nan initial size(like bubble\u003cint, 5\u003e) and once the array of size=5 is full, then the next elements\nare going to be inserted inside avl trees.\nThe code is header-only and only relies on STL, except from the avl_tree.hpp header that is implemented inside the\n```src/``` folder, though you can just put it inside the ```bubble.h``` file and be just fine.\nNote that you can put any binary tree structure you like instead of an avl tree, bubble is generic. \\\nYou can check more about the container at the [tutorial](/tutorial) folder\n\n## Complexity\nThe time complexity of insertion, deletion and searching of an element is $O(logn + logm) == O(log(n+m))$ where n is the\ninitial array size and m is the size of the avl tree that the key is going to be.\n\n## Example\n```cpp\n#include \"src/bubble.h\"\n\nint main() {\n    bubble\u003cint, 5\u003e b;\n    b.insert(-20, -10, 0, 10, 20);\n    b.insert(15, 16, -5, -6);\n    assert(b.search(15) == true);\n    b.remove(15);\n    assert(b.search(15) == false);\n    std::vector\u003cint\u003e elements = b[3]; // returns {15, 16}\n\n    std::cout \u003c\u003c b  \u003c\u003c '\\n'; // custom ostream operator\n}\n```\n\n## Licence\nThe code is licenced under the [MIT Licence](http://opensource.org/licenses/MIT):\nCopyright \u0026copy; 2024 Spiros Maggioros\n\nPlease cite the creators if you want to include this code to a project or a product using the\nbibitex bellow or using \"Cite this repository\" at \"about\" on the right view panel.\n```\n@software{Spiros_bubble_A_new_2024,\nauthor = {Spiros, Maggioros},\nmonth = aug,\ntitle = {{bubble: A new data structure based on the idea of fibonacci heaps}},\nurl = {https://github.com/spirosmaggioros/bubble},\nversion = {0.0.1},\nyear = {2024}\n}\n```\n\n\n## Run unit tests\nTo run unit tests on Unix based systems, just do\n```bash\nmkdir build \u0026\u0026 cd build\ncmake ..\nmake\ncd tests \u0026\u0026 ./runUnitTests\n```\n\n## Contribute\nGeneral contributions are always welcome and we definetely need more people working on this to make\nsure to have no bugs and manage to have the fastest implementation that we can. In order to contribute just\ncreate a pull request explaining your addition or fix as clearly as you can.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspirosmaggioros%2Fbubble","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspirosmaggioros%2Fbubble","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspirosmaggioros%2Fbubble/lists"}