https://github.com/haminimi/linked-list
A linked list data structure with all the basic methods.
https://github.com/haminimi/linked-list
data-structure data-structures data-structures-and-algorithms datastructure datastructures javascript linked-list linkedlist
Last synced: 3 months ago
JSON representation
A linked list data structure with all the basic methods.
- Host: GitHub
- URL: https://github.com/haminimi/linked-list
- Owner: Haminimi
- Created: 2023-12-23T15:02:05.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-28T10:53:25.000Z (about 1 year ago)
- Last Synced: 2025-01-13T17:51:42.992Z (5 months ago)
- Topics: data-structure, data-structures, data-structures-and-algorithms, datastructure, datastructures, javascript, linked-list, linkedlist
- Language: JavaScript
- Homepage: https://haminimi.github.io/linked-list/
- Size: 18.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Linked List
## Description
A linked list data structure with all the basic methods. [The project](https://www.theodinproject.com/lessons/javascript-linked-lists) is a part of [The Odin Project](https://www.theodinproject.com/dashboard)'s curriculum. The Odin Project provides a high quality web development education maintained by an open source community.
## Live Preview
Use the [linked list](https://haminimi.github.io/linked-list/) in your developer console.
## Methods
- **append:** adds a new node containing value to the end of the list
- **prepend:** adds a new node containing value to the start of the list
- **size:** returns the total number of nodes in the list
- **returnHead:** returns the first node in the list
- **returnTail:** returns the last node in the list
- **at:** returns the node at the given index
- **pop:** removes the last element from the list
- **contains:** returns true if the passed in value is in the list and otherwise returns false
- **find:** returns the index of the node containing value, or null if not found
- **toString:** represents your LinkedList objects as strings, so you can print them out and preview them in the console, the format is: ( value ) -> ( value ) -> ( value ) -> null
- **insertAt:** inserts a new node with the provided value at the given index
- **removeAt:** removes the node at the given index**To Do:**
- [ ] **Try to improve and optimize the methods**
## Tech
**The project is built with:**
- HTML
- Vanilla JavaScript**Tools**
- Visual Studio Code
- Git
## Covered Topics
**This section mentions the main topics covered during project work and prior lessons**
- Algorithms and Data Structures
- Time and Space Complexity
- Binary Search
- Binary Tree
- Breadth First Search and Depth First Search
- Linked List
## Reflection and resources
The past few lessons are opening up the world of algorithms and data structures to me, and I can just say that it's a great joy to be a part of it.
## Credits
- Icon used for the favicon image is one of the [Hierarchy icons created by Freepik - Flaticon](https://www.flaticon.com/free-icons/hierarchy).
## Happy coding!