Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 8ae0430

Browse files
remove adoc readme since maintaining two is insane
1 parent 565c610 commit 8ae0430

File tree

2 files changed

+64
-1
lines changed

2 files changed

+64
-1
lines changed

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ and then you can import it into your programs or CLI
1919
const { LinkedList, Queue, Stack } = require('dsa.js');
2020
```
2121

22-
For a full list of all the exposed data structures and algorithms [see](https://github.com/amejiarosario/dsa.js/blob/master/src/index.js)
22+
For a full list of all the exposed data structures and algorithms [see](https://github.com/amejiarosario/dsa.js/blob/master/src/index.js).
2323

2424
## Book
2525

‎deprecated-README.adoc‎

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
= Data Structures and Algorithms in JavaScript
2+
:toc: macro
3+
:toclevels: 2
4+
Adrian Mejia <https://github.com/amejiarosario[@amejiarosario]>
5+
6+
image:https://travis-ci.com/amejiarosario/dsa.js.svg?branch=master["Build Status", link="https://travis-ci.com/amejiarosario/dsa.js"]
7+
image:https://badge.fury.io/js/dsa.js.svg["npm version", link="https://badge.fury.io/js/dsa.js"]
8+
9+
This repository covers the implementation of the classical algorithms and data structures in JavaScript.
10+
11+
toc::[]
12+
13+
## Book
14+
15+
.You can check out the book that goes deeper into each topic and provide addtional illustrations and explanations.
16+
- Algorithmic toolbox to avoid getting stuck while coding.
17+
- Explains data structures similarities and differences.
18+
- Algorithm analysis fundamentals (Big O notation, Time/Space complexity) and examples.
19+
- Time/space complexity cheatsheet.
20+
21+
image:book/cover.png[link=https://gum.co/dsajs, height=400]
22+
23+
== Data Structures
24+
We are covering the following data structures.
25+
26+
image:https://user-images.githubusercontent.com/418605/46118890-ba721180-c1d6-11e8-82bc-6a671428b422.png[link=https://embed.kumu.io/85f1a4de5fb8430a10a1bf9c5118e015]
27+
28+
### Linear Data Structures
29+
1. **Arrays**: Built-in in most languages so not implemented here. https://adrianmejia.com/blog/2018/04/28/data-structures-time-complexity-for-beginners-arrays-hashmaps-linked-lists-stacks-queues-tutorial/#Array[Post].
30+
2. **Linked Lists**: each data node has a link to the next (and previous). https://github.com/amejiarosario/dsa.js/blob/master/src/data-structures/linked-lists/linked-list.js[Code] | https://adrianmejia.com/blog/2018/04/28/data-structures-time-complexity-for-beginners-arrays-hashmaps-linked-lists-stacks-queues-tutorial/#Linked-Lists[Post].
31+
3. **Queue**: data flows in a "first-in, first-out" (FIFO) manner. https://github.com/amejiarosario/dsa.js/blob/master/src/data-structures/queues/queue.js[Code] | https://adrianmejia.com/blog/2018/04/28/data-structures-time-complexity-for-beginners-arrays-hashmaps-linked-lists-stacks-queues-tutorial/#Queues[Post]
32+
4. **Stacks**: data flows in a "last-in, first-out" (LIFO) manner. https://github.com/amejiarosario/dsa.js/blob/master/src/data-structures/stacks/stack.js[Code] | https://adrianmejia.com/blog/2018/04/28/data-structures-time-complexity-for-beginners-arrays-hashmaps-linked-lists-stacks-queues-tutorial/#Stacks[Post].
33+
34+
### Non-Linear Data Structures
35+
1. **Trees**: data nodes has zero or more adjacent nodes a.k.a. children. Each node can only have one parent node otherwise is a graph not a tree. https://github.com/amejiarosario/algorithms.js/tree/master/src/data-structures/trees[Code] | https://adrianmejia.com/blog/2018/06/11/data-structures-for-beginners-trees-binary-search-tree-tutorial/[Post]
36+
.. **Binary Trees**: same as tree but only can have two children at most. https://github.com/amejiarosario/algorithms.js/tree/master/src/data-structures/trees[Code] | https://adrianmejia.com/blog/2018/06/11/data-structures-for-beginners-trees-binary-search-tree-tutorial/#Binary-Trees[Post]
37+
.. **Binary Search Trees** (BST): same as binary tree, but the nodes value keep this order `left < parent < rigth`. https://github.com/amejiarosario/algorithms.js/blob/master/src/data-structures/trees/binary-search-tree.js[Code]] | https://adrianmejia.com/blog/2018/06/11/data-structures-for-beginners-trees-binary-search-tree-tutorial/#Binary-Search-Tree-BST[Post]
38+
.. **AVL Trees**: Self-balanced BST to maximize look up time. https://github.com/amejiarosario/algorithms.js/blob/master/src/data-structures/trees/avl-tree.js[Code] | https://adrianmejia.com/blog/2018/07/16/self-balanced-binary-search-trees-with-avl-tree-data-structure-for-beginners/[Post]
39+
.. **Red-Black Trees**: Self-balanced BST more loose than AVL to maximize insertion speed. https://github.com/amejiarosario/algorithms.js/blob/master/src/data-structures/trees/red-black-tree.js[Code]
40+
2. **Maps**: key-value store.
41+
.. **Hash Maps**: implements map using a hash function. https://github.com/amejiarosario/algorithms.js/blob/master/src/data-structures/hash-maps/hashmap.js[Code] | https://adrianmejia.com/blog/2018/04/28/data-structures-time-complexity-for-beginners-arrays-hashmaps-linked-lists-stacks-queues-tutorial/#HashMaps[Post]
42+
.. **Tree Maps**: implement map using a self-balanced BST. https://github.com/amejiarosario/dsa.js/blob/master/src/data-structures/maps/tree-maps/tree-map.js[Code]
43+
3. **Graphs**: data *nodes* that can have a connection or *edge* to zero or more adjacent nodes. Unlike trees, nodes can have multiple parents, loops. https://github.com/amejiarosario/algorithms.js/blob/master/src/data-structures/graphs/graph.js[Code] | https://adrianmejia.com/blog/2018/05/14/data-structures-for-beginners-graphs-time-complexity-tutorial/[Post]
44+
45+
## Algorithms
46+
47+
.We cover the following algorithms and techniques.
48+
* Sorting algorithms
49+
** Bubble Sort. https://github.com/amejiarosario/dsa.js/blob/master/src/algorithms/sorting/bubble-sort.js[Code]
50+
** Insertion Sort. https://github.com/amejiarosario/dsa.js/blob/master/src/algorithms/sorting/insertion-sort.js[Code]
51+
** Selection Sort. https://github.com/amejiarosario/dsa.js/blob/master/src/algorithms/sorting/selection-sort.js[Code]
52+
** Merge Sort. https://github.com/amejiarosario/dsa.js/blob/master/src/algorithms/sorting/merge-sort.js[Code]
53+
** Quicksort. https://github.com/amejiarosario/dsa.js/blob/master/src/algorithms/sorting/quick-sort.js[Code]
54+
* Greedy Algorithms
55+
** Fractional Knapsack Problem. https://github.com/amejiarosario/dsa.js/blob/master/src/algorithms/knapsack-fractional.js[Code]
56+
* Divide and Conquer
57+
** Fibonacci Numbers. https://github.com/amejiarosario/dsa.js/blob/master/src/algorithms/fibonacci-recursive.js[Code]
58+
* Dynamic Programming
59+
** Fibonacci with memoization. https://github.com/amejiarosario/dsa.js/blob/master/src/algorithms/fibanacci-dynamic-programming.js[Code]
60+
* Backtracking algorithms
61+
** Word permutations. https://github.com/amejiarosario/dsa.js/blob/master/src/algorithms/permutations-backtracking.js[Code]
62+
63+

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /