{"id":26270580,"url":"https://github.com/vitorhugoantunes/data_structure_learning","last_synced_at":"2026-04-28T14:33:35.700Z","repository":{"id":211635355,"uuid":"729626992","full_name":"VitorHugoAntunes/Data_Structure_Learning","owner":"VitorHugoAntunes","description":"Collection of studies on Data Structure.","archived":false,"fork":false,"pushed_at":"2024-12-15T00:23:09.000Z","size":1683,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-14T06:16:23.880Z","etag":null,"topics":["algorithms","c","data-structures","java"],"latest_commit_sha":null,"homepage":"","language":null,"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/VitorHugoAntunes.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":"2023-12-09T20:32:38.000Z","updated_at":"2024-12-15T00:23:13.000Z","dependencies_parsed_at":"2023-12-16T00:50:58.448Z","dependency_job_id":null,"html_url":"https://github.com/VitorHugoAntunes/Data_Structure_Learning","commit_stats":null,"previous_names":["vitorhugoantunes/data_structure_learning"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/VitorHugoAntunes/Data_Structure_Learning","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VitorHugoAntunes%2FData_Structure_Learning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VitorHugoAntunes%2FData_Structure_Learning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VitorHugoAntunes%2FData_Structure_Learning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VitorHugoAntunes%2FData_Structure_Learning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VitorHugoAntunes","download_url":"https://codeload.github.com/VitorHugoAntunes/Data_Structure_Learning/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VitorHugoAntunes%2FData_Structure_Learning/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32385129,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T11:25:28.583Z","status":"ssl_error","status_checked_at":"2026-04-28T11:25:05.435Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["algorithms","c","data-structures","java"],"created_at":"2025-03-14T06:16:26.419Z","updated_at":"2026-04-28T14:33:35.682Z","avatar_url":"https://github.com/VitorHugoAntunes.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Estrutura de Dados - Repositório de Estudos\n\nBem-vindo ao meu repositório de estudos de estrutura de dados! Aqui, compartilho os meus aprendizados e práticas relacionados a estruturas de dados, um aspecto fundamental da programação e ciência da computação.\n\n## Conteúdo do Repositório\n\n\u003cdetails open=\"true\"\u003e\n\u003csummary name=\"estrutura-de-dados-1\"\u003e\u003ch2\u003eEstrutura de Dados 1\u003c/h2\u003e\u003c/summary\u003e\n\n### 1. Tipos de dados\n- Entenda variáveis, tipos primitivos (inteiros, floats, booleanos, etc.) e como eles são armazenados.\n  \n### 2. Arrays e listas\n- Aprenda sobre `arrays` e listas, estruturas que armazenam elementos de forma sequencial.\n  \n### 3. Filas e Pilhas\n- Compreenda as filas (queues) e pilhas (stacks) e suas operações (enqueue, dequeue, push, pop).\n\n### 4. Listas ligadas (linked lists)\n- Explore listas ligadas simples e duplamente ligadas, compreendendo suas características e operações.\n\n### 5. Árvores\n- Introdução às árvores binárias, suas propriedades e operações.\n\n### 6. Recursividade\n- Compreenda a recursividade, que é fundamental para muitas estruturas e algoritmos.\n\n### 7. Árvores Binárias de Busca (BST)\n- Entenda árvores binárias de busca e suas propriedades.\n\n### 8. Heap\n- Aprenda sobre `heaps` (binários, binomiais, Fibonacci) e suas operações (inserir, extrair mínimo/máximo).\n\n### 9. Tabelas Hash\n- Introdução a tabelas `hash`, colisões e resoluções de colisões.\n\n### 10. Grafos\n- Explore a teoria dos grafos, representações (matriz de adjacência, lista de adjacência) e algoritmos (DFS, BFS).\n\n### 11. Algoritmos de ordenação\n- Compreenda algoritmos de ordenação (`Bubble Sort, Insertion Sort, Merge Sort, Quick Sort`).\n\n### 12. Algoritmos de busca\n- Aprenda algoritmos de busca (linear, binária) e suas complexidades.\n\n### 13. Árvores AVL e Árvores B\n- Estude árvores `AVL` para garantir balanceamento e árvores B para armazenamento eficiente em disco.\n\n### 14. Grafos ponderados\n- Explore grafos ponderados, algoritmos de caminho mínimo (Dijkstra, Bellman-Ford) e árvores de abrangência mínima (Prim, Kruskal).\n\n### 15. Estrutura de dados avançadas\n- Outras estruturas como Trie, Grafo Direcionado Acíclico (DAG), Union-Find.\n\n### 16. Algoritmos avançados\n- Algoritmos mais complexos como algoritmos de fluxo máximo (Ford-Fulkerson, Edmonds-Karp) e algoritmos de casamento estável.\n\n\u003c/details\u003e\n\n\u003cdetails open=\"true\"\u003e\n\u003csummary name=\"estrutura-de-dados-2\"\u003e\u003ch2\u003eEstrutura de Dados 2\u003c/h2\u003e\u003c/summary\u003e\n\n### 1. Filtros de bloom\n- São estruturas de dados probabilísticas usadas para testar se um elemento pertence a um conjunto, com um pequeno risco de falsos positivos.\n\n### 2. Árvores de Fenwick (ou BIT - Binary Indexed Tree)\n- Especialmente úteis para cálculos de prefixos e atualizações eficientes em sequências de números.\n\n### 3. Tabelas Hash Dinâmicas (Dynamic Hash Tables)\n- Abordagem mais avançada das tabelas hash que pode lidar com `resizing` e colisões de maneira mais eficiente.\n\n### 4. Árvores de segmento\n- Estruturas eficientes para resolver problemas relacionados a intervalos em um conjunto de dados, como consultas de soma em um intervalo específico.\n\n### 5. Fibonacci Heap\n- Uma variação de heap que oferece tempos de execução melhores em certos casos do que outras estruturas de heap.\n\n### 6. Quad Trees e Oct Trees\n- Estruturas de dados espaciais usadas em gráficos computacionais e problemas relacionados a espaço tridimensional.\n\n### 7. Estruturas de dados persistente\n- Estruturas de dados que mantêm versões antigas de si mesmas, o que é útil em situações onde você precisa rastrear alterações ao longo do tempo.\n\n### 8. Estruturas de dados probabilísticas\n- Incluem estruturas como skip lists e treaps que oferecem eficiência em tempo médio, muitas vezes com complexidade de implementação menor do que estruturas determinísticas equivalentes.\n\n### 9. B-Tree e B+Tree\n- Estruturas de dados usadas em bancos de dados e sistemas de arquivos para armazenamento eficiente em disco.\n\n### 10. Cuckoo Hashing\n- Uma abordagem de hashing alternativa para evitar colisões, usando múltiplas funções de hash.\n\n\u003c/details\u003e\n\n## Linguagens Utilizadas\n\nOs estudos e implementações são realizados em diversas linguagens, incluindo:\n\n- Java\n- C\n\nApesar de utilizar essas duas linguagens, o objetivo não é fazer todos os tópicos em C e em Java, pois muitos exemplos, como as pilhas e filas, são bem parecidos em questão de sintaxe, mudando poucos detalhes. As linguagens escolhidas são apenas para exemplificar e não repassar o mesmo conteúdo em ambas para evitar repetição. Apenas tópicos que são diferentes em ambas linguagens foram estudados utilizando as duas, como vetores e matrizes, que em Java temos uma abordagem diferente usando classes invólucros.\n\n## Como Contribuir\n\nSinta-se à vontade para contribuir com novos exemplos, correções ou sugestões. Basta seguir estas etapas:\n\n1. Faça um fork do repositório.\n2. Crie uma branch para a sua contribuição (`git checkout -b sua-feature`).\n3. Faça suas alterações e commit (`git commit -m 'Adiciona nova feature'`).\n4. Faça push para a branch (`git push origin sua-feature`).\n5. Abra um pull request para revisão.\n\n## Observações\n\nEste repositório é destinado a compartilhar conhecimento e práticas sobre estruturas de dados. Sinta-se à vontade para explorar, aprender e contribuir!\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitorhugoantunes%2Fdata_structure_learning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvitorhugoantunes%2Fdata_structure_learning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitorhugoantunes%2Fdata_structure_learning/lists"}