{"id":20364724,"url":"https://github.com/alanrma/dsa","last_synced_at":"2026-06-05T12:31:14.795Z","repository":{"id":244860031,"uuid":"816484140","full_name":"AlanRMA/DSA","owner":"AlanRMA","description":"Data Structures and Algorithms","archived":false,"fork":false,"pushed_at":"2024-06-22T17:03:06.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-15T04:29:14.763Z","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/AlanRMA.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-06-17T21:15:47.000Z","updated_at":"2024-06-22T17:03:09.000Z","dependencies_parsed_at":"2024-06-23T11:15:09.434Z","dependency_job_id":null,"html_url":"https://github.com/AlanRMA/DSA","commit_stats":null,"previous_names":["alanrma/dsa"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlanRMA%2FDSA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlanRMA%2FDSA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlanRMA%2FDSA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlanRMA%2FDSA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlanRMA","download_url":"https://codeload.github.com/AlanRMA/DSA/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241904706,"owners_count":20040021,"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","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-11-15T00:13:11.464Z","updated_at":"2026-06-05T12:31:14.787Z","avatar_url":"https://github.com/AlanRMA.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Data Structures and Algorithms Project\n\n## Introduction\nThis project aims to explore and implement various search and sorting algorithms, which are fundamental in the study of data structures and algorithms (DSA). These algorithms are widely used to solve complex problems efficiently.\n\n## Search Algorithms\n\n### Linear Search\nLinear Search is the simplest algorithm for searching an element in a list. It sequentially checks each element of the list until the desired element is found or the end of the list is reached.\n\n**Time Complexity:** O(n), where n is the number of elements in the list.\n\n### Binary Search\nBinary Search is a more efficient algorithm than linear search but requires the list to be sorted. It repeatedly divides the list in half and compares the middle element with the target value, reducing the search space by half each step.\n\n**Time Complexity:** O(log n), where n is the number of elements in the list.\n\n## Sorting Algorithms\n\n### Bubble Sort\nBubble Sort is a simple sorting algorithm that compares adjacent elements and swaps them if they are in the wrong order. This process is repeated until the list is sorted.\n\n**Time Complexity:** O(n²), where n is the number of elements in the list.\n\n### Selection Sort\nSelection Sort selects the smallest element from the list and places it in the first position, then the second smallest, and so on. This process is repeated until the entire list is sorted.\n\n**Time Complexity:** O(n²), where n is the number of elements in the list.\n\n### Insertion Sort\nInsertion Sort builds the sorted list one item at a time, inserting each new element into its correct position.\n\n**Time Complexity:** O(n²), where n is the number of elements in the list.\n\n### Merge Sort\nMerge Sort is a sorting algorithm based on the divide and conquer technique. It divides the list into smaller sublists, sorts them, and then merges them to obtain the final sorted list.\n\n**Time Complexity:** O(n log n), where n is the number of elements in the list.\n\n### Quick Sort\nQuick Sort is also based on the divide and conquer technique. It selects a pivot and partitions the list into two sublists: one with elements less than the pivot and the other with elements greater. The sublists are then sorted recursively.\n\n**Time Complexity:** O(n log n) on average, where n is the number of elements in the list.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falanrma%2Fdsa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falanrma%2Fdsa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falanrma%2Fdsa/lists"}