Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ A collection of exercises to help improve your understanding of algorithms and d
* [Graph](./doc/graph.md) - Graph is a data structure that is used to represent a network of nodes. Each node is connected to a set of other nodes, which are called its neighbors. Graphs are used to represent networks of computers, social networks, and other networks.
* [Trie](./doc/trie.md) - Trie is a data structure that is used to store strings. It is similar to a binary search tree, except that it is optimized for string searches.
* [Hash table](./doc/hash-table.md) - Hash table is a data structure that is used to store data. It is similar to an

* [Matrix](./doc/matrix.md) -

## Exercises

Expand All @@ -34,6 +34,12 @@ A collection of exercises to help improve your understanding of algorithms and d
* [Brute Force](./doc/brute-force.md)
* [Divide and Conquer](./doc/divide-and-conquer.md)

## Concepts

* [Time & Space Complexity](./doc/time-space-complexity.md)
* [Brute Force](./doc/brute-force.md)
* [Divide and Conquer](./doc/divide-and-conquer.md)

## Contributing

* _This project is work in progress_ If you would like to contribute, please do get in touch.
Expand Down
5 changes: 5 additions & 0 deletions docs/array.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Algo

## Docs

## Array
5 changes: 5 additions & 0 deletions docs/binary-search-tree.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Algo

## Docs

## Binary Search Tree
5 changes: 5 additions & 0 deletions docs/binary-tree.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Algo

## Docs

## Binary Tree
5 changes: 5 additions & 0 deletions docs/brute-force.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Algo

## Docs

## Brute Force
5 changes: 5 additions & 0 deletions docs/divide-and-conquer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Algo

## Docs

## Divide & Conquer
5 changes: 5 additions & 0 deletions docs/graph.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Algo

## Docs

## Graph
5 changes: 5 additions & 0 deletions docs/hash-table.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Algo

## Docs

## Hash Table
5 changes: 5 additions & 0 deletions docs/heap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Algo

## Docs

## Heap
68 changes: 68 additions & 0 deletions docs/linked-list.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Algo

## Docs

## Linked List

### Introduction
1. A linked list is a linear collection of data elements, in which linear order is not given by their physical placement in memory. Each pointing to the next node by means of a pointer. It is a data structure consisting of a group of nodes which together represent a sequence.

2. A LinkedList is a data structure consisting of nodes in memory, and every field stores a pointer to the following field, forming a connection to nodes of the list. The data fields aren’t in the exact memory location. But using pointers, they get to connect and reference each other just like arrays.

3. LinkedList is more efficient and preferable to arrays because they can store heterogeneous data, are dynamically sized, insertion is faster, and they are memory-efficient than arrays.

4. Linked lists are also the backbone of more complex data structures such as stacks and queues. The idea of linking each node with pointers also carries over to other data structures such as trees and graphs.

4. Go has built in `list` and `container` types:
- `container` The container package contains the implementation of several data structures and their algorithms in Go.
- `container/list` The list package, on the other hand, includes an implementation of the LinkedList data structure you can use in your Go programs.

1. Types
```go
type Node struct {
prev *Node // for only doubly and circular types
next *Node
val any
}

type Container struct {
head *Node
tail *Node // for only circular types
}
```

2. Behaviours
- Insert
```go
```

- Display
```go
```

- Reverse
```go
```

- First
```go
```

- Last
```go
```

- Next
```go
```

- Length
```go
```


2. Types
- Singly
- Doubly
- Circular
- Singly
15 changes: 15 additions & 0 deletions docs/maths.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Algo

## Docs

## Maths Crash Course

### Logarithmic

### Permutations and factorial

### Sets

### Sequence & Series

### Modular arithmetic
Empty file added docs/matrix.md
Empty file.
5 changes: 5 additions & 0 deletions docs/queue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Algo

## Docs

## Queue
Loading