<commit_before>By [<NAME>](http://pr4tt.com)

## [Data Structures](http://opendatastructures.org)

### [Array](http://opendatastructures.org/ods-java/2_Array_Based_Lists.html)

A fixed number of sequential memory locations, into which data is
inserted sequentially beginning with the lowest or highest memory
address.  A counter keeps track of how many of the memory locations
contain data.  

This structure provides constant-time access to any element and
constant-time insertion or removal at the end, using constant extra
space.

### [Linked List](http://opendatastructures.org/ods-java/3_Linked_Lists.html)

A pointer to a series of nodes, each of which contain a datum and a
pointer to the next node in the list.

![Linked List](http://opendatastructures.org/ods-java/img500.png)

This structure provides constant removal from the start, and a pointer
to the tail is a simple optimization which allows constant-time
insertion at the end.

## [Algorithms](http://compgeom.cs.uiuc.edu/~jeffe/teaching/algorithms/)

TODO
<commit_msg>Added binary tree<commit_after>By [<NAME>](http://pr4tt.com)

## [Data Structures](http://opendatastructures.org)

### [Array](http://opendatastructures.org/ods-java/2_Array_Based_Lists.html)

A fixed number of sequential memory locations, into which data is
inserted sequentially beginning with the lowest or highest memory
address.  A counter keeps track of how many of the memory locations
contain data.  

This structure provides constant-time access to any element and
constant-time insertion or removal at the end, using constant extra
space.

### [Linked List](http://opendatastructures.org/ods-java/3_Linked_Lists.html)

A pointer to a series of nodes, each of which contain a datum and a
pointer to the next node in the list.

![Linked List](http://opendatastructures.org/ods-java/img500.png)

This structure provides constant removal from the start, and a pointer
to the tail is a simple optimization which allows constant-time
insertion at the end.

### Binary Tree

A binary tree stores elements in a well-defined ordering.  Each node
of the tree stores an element along with pointers to left and right
children.  The left child and all its children contain elements which
precede or are equal to the element at the node.  Similarly for the
right child and all its children.

A perfectly balanced binary tree has logarithmic query time.

### Skiplist

TODO

## [Algorithms](http://compgeom.cs.uiuc.edu/~jeffe/teaching/algorithms/)

### Binary Search

TODO

### Dijkstra's Algorithm

TODO

{'fraction_non_alphanumeric': 0.08241324921135647, 'fraction_numerical': 0.00473186119873817, 'mean_word_length': 4.713963963963964, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5051360', 'n_tokens_mistral': 752, 'n_tokens_neox': 709, 'n_words': 300}