{"id":26605055,"url":"https://github.com/elderfieldzeus/dsa","last_synced_at":"2025-04-09T18:13:59.674Z","repository":{"id":245451379,"uuid":"818289187","full_name":"elderfieldzeus/dsa","owner":"elderfieldzeus","description":"my dsa repo","archived":false,"fork":false,"pushed_at":"2025-01-18T15:31:24.000Z","size":40527,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-09T18:13:52.874Z","etag":null,"topics":["algorithms","c","data-structures"],"latest_commit_sha":null,"homepage":"","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/elderfieldzeus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-21T14:07:34.000Z","updated_at":"2025-02-17T14:19:47.000Z","dependencies_parsed_at":"2024-06-22T06:49:32.734Z","dependency_job_id":"3e4cdbb0-dea4-4bde-bfdf-7c08f492ccc2","html_url":"https://github.com/elderfieldzeus/dsa","commit_stats":null,"previous_names":["elderfieldzeus/dsa"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elderfieldzeus%2Fdsa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elderfieldzeus%2Fdsa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elderfieldzeus%2Fdsa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elderfieldzeus%2Fdsa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elderfieldzeus","download_url":"https://codeload.github.com/elderfieldzeus/dsa/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248085325,"owners_count":21045139,"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":["algorithms","c","data-structures"],"created_at":"2025-03-23T20:20:14.345Z","updated_at":"2025-04-09T18:13:59.653Z","avatar_url":"https://github.com/elderfieldzeus.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dsa\n\u003cdiv align=\"center\"\u003e\n   \u003ch3\u003emy dsa repo\u003c/h3\u003e\n   \u003cp\u003efeel free to steal or whatever haha\u003c/p\u003e\n   \u003cimg src=\"./etc/lol-spongebob.gif\" width=\"500\"\u003e\n\u003c/div\u003e\n\n\u003chr /\u003e\n\n# Table of Contents\n- [Pre-Midterm Topics](#pre-midterm-topics)\n- [Midterm Topics](#midterm-topics)\n- [Pre-Final Topics](#pre-final-topics)\n- [Final Topics](#final-topics)\n- [References](#references)\n\n# Coverage\n\n## Pre-Midterm Topics\n\n1. **Abstract Data Type (ADT)**\n\n2. **ADT List**\n   - Differentiate a List from an ADT List.\n   - List Operations: Initialize, insert, delete, member, locate, and other operations\n   - Implementations of ADT List:\n     1. **Array Implementation (4 versions)**\n        - **Version 1**: List is a structure containing an array and variable count  \n          *Note*: count represents the actual number of elements in the array  \n          - If MAX is the size of the array, count \u003c= MAX\n        - **Version 2**: List is a pointer to a structure containing an array and variable count\n        - **Version 3**: List is a structure containing a pointer to the 1st element of a dynamic array, and variable count\n        - **Version 4**: List is a pointer to a structure containing a pointer to the 1st element of a dynamic array, and variable count\n     2. **Linked List Implementation (Singly Link)**\n     3. **Cursor-based Implementation**\n   - Time Complexity of the List operations in different implementations: O(1), O(N), and O(N\\*N)\n\n3. **ADT Stack and Implementations**\n   - What is an ADT Stack?\n   - Stack Operations: Top, Pop, Push, and other utility functions such as initStack, isEmpty, and isFull\n   - Implementations\n     1. **Array Implementation (4 versions)**\n     2. **Linked List Implementation**\n     3. **Cursor-based Implementation**\n   - Time Complexity: O(1) and O(N)\n\n4. **ADT Queue and Implementations**\n   - What is an ADT Queue?\n   - Queue Operations: Front, Dequeue, Enqueue, and other utility functions such as initQueue, isEmpty, and isFull\n   - Implementations\n     1. **Linked List Implementation**\n        - **Queue is a pointer to a dynamically allocated node**\n        - **Queue is a structure containing front and rear pointers to dynamically allocated node/s**\n     2. **Circular Array Implementation**\n        - **Solution 1**: Add a counter\n        - **Solution 2**: Queue is full if there are MAX-1 elements  \n          *Note*: where MAX is the size of the array\n   - Time Complexity: O(1) and O(N)\n\n**Caution**: The Stack and the Queue **CANNOT be traversed**! (See definition of stack and queue)\n\n## Midterm Topics\n\n1. **Set and ADT Set**\n   - ADT Set vs. ADT List\n   - What are the differences between the two?\n   - ADT's based on Set\n     1. **ADT UID**\n        - An ADT based on set with operations Union, Intersection, and set Difference\n        - Implementations\n          1. Array, Linked list, and cursor-based implementations\n          2. Bit-Vector Implementation\n          3. Computer Word Implementation\n             - Shift operators: `\u003e\u003e` and `\u003c\u003c`\n             - Bit-wise operators: `\u0026` `^` `|` `~`\n\n2. **ADT Dictionary**\n   - An ADT based on set with operations Insert, Delete, and Member\n   - Two types of Hashing:\n     1. Open Hashing (or External Hashing)\n     2. Closed Hashing (or Internal Hashing)\n\n   - *Closed Hashing Terms*: Collision, Synonyms, Linear Hashing or Probing, Displacement, Packing Density (Load Factor), Average Search Length, Perfect Hash Function\n   - Closed Hashing variants\n     - Closed Hashing in external Memory (Files: fopen, fclose, fread, fwrite, fseek)\n\n## Pre-Final Topics\n\n1. **ADT Tree and Implementations** [Source: Data Structure by Aho, Hopcroft, and Ullman]\n   - Definition of a tree\n   - Basic concepts and terms related to tree\n   - Tree Traversals [Preorder, Inorder, Postorder]\n   - ADT Tree Implementations\n     - Parent Pointer Implementation\n     - List of Children Implementation\n   - Binary Tree definition and Implementations\n   - Expression Trees\n   - Huffman Code\n\n2. **Binary Search Tree (BST)** [Sources: There are many sites on the internet such as Geeks for Geeks]\n   - Description and Implementation\n   - Operations: Insert, Delete, and Member\n   - Similarity and Difference between BST and AVL trees\n   - Binary Search vs. Sequential Search\n\n3. **ADT Priority Queue**\n   - Partially Ordered Tree (POT)\n   - Min and Max heap\n     - **MinHeap**: Operations: insert and deleteMin [Source: Data Structure by Aho, Hopcroft, and Ullman]\n     - **MaxHeap**: Operations: insert and deleteMax [Sources: Internet]\n     - MinHeapify and MaxHeapify\n       - **Version 1**: Insert all elements in an initially empty POT [Source: ebook]\n       - **Version 2**: Heapify starting with lowest level parent [Sources: Internet]\n\n4. **Heapsort Sorting Technique (in place)**\n   - A sorting algorithm is an \"in place\" sorting algorithm if there is no additional array used when implementing the sorting process.\n\n## Final Topics\n\n1. **Directed and Undirected Graph** [Source: Data Structure by Aho, Hopcroft, and Ullman]\n   - Concepts\n   - Graph Implementations:\n     1. Adjacency Matrix\n     2. Adjacency List \n2. **Graph Algorithms** [Source: Data Structure by Aho, Hopcroft, and Ullman]\n    -  Shortest Paths: Dijkstra's Floyd's, and Warshall's Algorithms\n    -  Traversals: Depth First Search (DFS) and Breadth First Search (BFS)\n    -  Minimum Cost Spanning Tree: Prim's and Kruskal's Algorithms\n\n\n## References\n- Mme. Christine Pena\n- Seth Demeterio\n- Sir Cris Militante\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felderfieldzeus%2Fdsa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felderfieldzeus%2Fdsa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felderfieldzeus%2Fdsa/lists"}