Merge branch 'trekhleb:master' into master

This commit is contained in:
Mari Adhari 2022-08-01 17:01:43 +07:00 committed by GitHub
commit a81e668be8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
48 changed files with 205 additions and 109 deletions

View File

@ -9,7 +9,9 @@ _Lea esto en otros idiomas:_
En informática, una **lista doblemente enlazada** es una estructura de datos relacionados que consta de un conjunto de registros conectados secuencialmente llamados nodos. Cada nodo contiene dos campos, llamados enlaces, que son referencias al nodo anterior y al siguiente en la secuencia de nodos. Los enlaces anterior y siguiente de los nodos inicial y final, apuntan respectivamente a algún tipo de terminador (normalmente un nodo centinela o nulo), facilitando así el recorrido de la lista. Si solo hay un nodo nulo, la lista se enlaza circularmente a través este. Puede conceptualizarse como dos listas enlazadas individualmente formadas a partir de los mismos elementos de datos, pero en órdenes secuenciales opuestos.
![Lista doblemente enlazada](https://upload.wikimedia.org/wikipedia/commons/5/5e/Doubly-linked-list.svg)
![Lista doblemente enlazada](./images/doubly-linked-list.jpeg)
*Made with [okso.app](https://okso.app)*
Los dos enlaces de un nodo permiten recorrer la lista en cualquier dirección. Si bien agregar o eliminar un nodo en una lista doblemente enlazada requiere cambiar más enlaces que las mismas operaciones en una lista enlazada individualmente, las operaciones son más simples y potencialmente más eficientes (para nodos que no sean los primeros) porque no hay necesidad de realizar un seguimiento del nodo anterior durante el recorrido o no es necesario recorrer la lista para encontrar el nodo anterior, de modo que se pueda modificar su enlace.

View File

@ -2,7 +2,9 @@
コンピュータサイエンスにおいて、**双方向リスト**はードと呼ばれる一連のリンクレコードからなる連結データ構造です。各ードはリンクと呼ばれる2つのフィールドを持っていて、これらは一連のード内における前のードと次のードを参照しています。最初のードの前のリンクと最後のードの次のリンクはある種の終端を示していて、一般的にはダミーードやnullが格納され、リストのトラバースを容易に行えるようにしています。もしダミーードが1つしかない場合、リストはその1つのードを介して循環的にリンクされます。これは、それぞれ逆の順番の単方向のリンクリストが2つあるものとして考えることができます。
![Doubly Linked List](https://upload.wikimedia.org/wikipedia/commons/5/5e/Doubly-linked-list.svg)
![Doubly Linked List](./images/doubly-linked-list.jpeg)
*Made with [okso.app](https://okso.app)*
2つのリンクにより、リストをどちらの方向にもトラバースすることができます。双方向リストはードの追加や削除の際に、片方向リンクリストと比べてより多くのリンクを変更する必要があります。しかし、その操作は簡単で、より効率的な(最初のノード以外の場合)可能性があります。前のノードのリンクを更新する際に前のノードを保持したり、前のノードを見つけるためにリストをトラバースする必要がありません。
@ -25,7 +27,7 @@ Add(value)
end if
end Add
```
### 削除
```text
@ -62,7 +64,7 @@ Remove(head, value)
return false
end Remove
```
### 逆トラバース
```text
@ -76,7 +78,7 @@ ReverseTraversal(tail)
end while
end Reverse Traversal
```
## 計算量
## 時間計算量

View File

@ -12,7 +12,9 @@ _Read this in other languages:_
센티넬 노드가 하나만 있으면, 목록이 센티넬 노드를 통해서 원형으로 연결됩니다.
동일한 데이터 항목으로 구성되어 있지만, 반대 순서로 두 개의 단일 연결 리스트로 개념화 할 수 있습니다.
![이중 연결 리스트](https://upload.wikimedia.org/wikipedia/commons/5/5e/Doubly-linked-list.svg)
![이중 연결 리스트](./images/doubly-linked-list.jpeg)
*Made with [okso.app](https://okso.app)*
두 개의 노드 링크를 사용하면 어느 방향으로든 리스트를 순회할 수 있습니다.
이중 연결 리스트에서 노드를 추가하거나 제거하려면, 단일 연결 리스트에서 동일한 작업보다 더 많은 링크를 변경해야 하지만, 첫 번째 노드 이외의 노드인 경우 작업을 추적할 필요가 없으므로 작업이 더 단순해져 잠재적으로 더 효율적입니다.
@ -37,7 +39,7 @@ Add(value)
end if
end Add
```
### 삭제
```text
@ -74,7 +76,7 @@ Remove(head, value)
return false
end Remove
```
### 역순회
```text
@ -88,7 +90,7 @@ ReverseTraversal(tail)
end while
end Reverse Traversal
```
## 복잡도
## 시간 복잡도

View File

@ -18,7 +18,9 @@ sentinel node, then the list is circularly linked via the sentinel node. It can
be conceptualized as two singly linked lists formed from the same data items,
but in opposite sequential orders.
![Doubly Linked List](https://upload.wikimedia.org/wikipedia/commons/5/5e/Doubly-linked-list.svg)
![Doubly Linked List](./images/doubly-linked-list.jpeg)
*Made with [okso.app](https://okso.app)*
The two node links allow traversal of the list in either direction. While adding
or removing a node in a doubly linked list requires changing more links than the

View File

@ -11,7 +11,9 @@ somente um nó sentinela, então a lista é ligada circularmente através do nó
sentinela. Ela pode ser conceitualizada como duas listas individualmente ligadas
e formadas a partir dos mesmos itens, mas em ordem sequencial opostas.
![Doubly Linked List](https://upload.wikimedia.org/wikipedia/commons/5/5e/Doubly-linked-list.svg)
![Doubly Linked List](./images/doubly-linked-list.jpeg)
*Made with [okso.app](https://okso.app)*
Os dois nós ligados permitem a travessia da lista em qualquer direção.
Enquanto adicionar ou remover um nó de uma lista duplamente vinculada requer
@ -41,7 +43,7 @@ Add(value)
end if
end Add
```
### Deletar
```text
@ -78,7 +80,7 @@ Remove(head, value)
return false
end Remove
```
### Travessia reversa
```text
@ -92,7 +94,7 @@ ReverseTraversal(tail)
end while
end Reverse Traversal
```
## Complexidades
## Complexidade de Tempo

View File

@ -10,14 +10,16 @@
Двусвязный список можно представить, как два связных списка, которые образованы из
одних и тех же данных, но расположенных в противоположном порядке.
![Двусвязный список](https://upload.wikimedia.org/wikipedia/commons/5/5e/Doubly-linked-list.svg)
![Двусвязный список](./images/doubly-linked-list.jpeg)
*Made with [okso.app](https://okso.app)*
Две ссылки позволяют обходить список в обоих направлениях. Добавление и
удаление узла в двусвязном списке требует изменения большего количества ссылок,
чем аналогичные операции в связном списке. Однако данные операции проще и потенциально
более эффективны (для некорневых узлов) - при обходе не нужно следить за предыдущим
узлом или повторно обходить список в поиске предыдущего узла, плюс его ссылка
может быть изменена.
может быть изменена.
## Псевдокод основных операций
@ -38,7 +40,7 @@ Add(value)
end if
end Add
```
### Удаление
```text
@ -75,7 +77,7 @@ Remove(head, value)
return false
end Remove
```
### Обратный обход
```text
@ -89,7 +91,7 @@ ReverseTraversal(tail)
end while
end Reverse Traversal
```
## Сложность
## Временная сложность

View File

@ -2,7 +2,9 @@
在计算机科学中, 一个 **双向链表(doubly linked list)** 是由一组称为节点的顺序链接记录组成的链接数据结构。每个节点包含两个字段称为链接它们是对节点序列中上一个节点和下一个节点的引用。开始节点和结束节点的上一个链接和下一个链接分别指向某种终止节点通常是前哨节点或null以方便遍历列表。如果只有一个前哨节点则列表通过前哨节点循环链接。它可以被概念化为两个由相同数据项组成的单链表但顺序相反。
![Doubly Linked List](https://upload.wikimedia.org/wikipedia/commons/5/5e/Doubly-linked-list.svg)
![Doubly Linked List](./images/doubly-linked-list.jpeg)
*Made with [okso.app](https://okso.app)*
两个节点链接允许在任一方向上遍历列表。
@ -29,7 +31,7 @@ Add(value)
end if
end Add
```
### 删除
```text
@ -66,7 +68,7 @@ Remove(head, value)
return false
end Remove
```
### 反向遍历
```text
@ -80,7 +82,7 @@ ReverseTraversal(tail)
end while
end Reverse Traversal
```
## 复杂度
## 时间复杂度

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

View File

@ -4,11 +4,15 @@ En informatique, un **tas** est une structure de données arborescente spéciali
Dans un *tas minimal* (en anglais *min heap*), si `P` est un nœud parent de `C`, alors la clé (la valeur) de `P` est inférieure ou égale à la clé de `C`.
![MinHeap](https://upload.wikimedia.org/wikipedia/commons/6/69/Min-heap.png)
![MinHeap](./images/min-heap.jpeg)
*Made with [okso.app](https://okso.app)*
Dans un *tas maximal* (en anglais *max heap*), la clé de `P` est supérieure ou égale à la clé de `C`.
![Heap](https://upload.wikimedia.org/wikipedia/commons/3/38/Max-Heap.svg)
![MaxHeap](./images/max-heap.jpeg)
![Array Representation](./images/array-representation.jpeg)
Le nœud au «sommet» du tas sans parents est appelé le nœud racine.

View File

@ -4,11 +4,15 @@
*最小ヒープ*では、もし`P`が`C`の親ノードの場合、`P`のキー(値)は`C`のキーより小さい、または等しくなります。
![MinHeap](https://upload.wikimedia.org/wikipedia/commons/6/69/Min-heap.png)
![MinHeap](./images/min-heap.jpeg)
*Made with [okso.app](https://okso.app)*
*最大ヒープ*では、`P`のキーは`C`のキーより大きい、もしくは等しくなります。
![Heap](https://upload.wikimedia.org/wikipedia/commons/3/38/Max-Heap.svg)
![MaxHeap](./images/max-heap.jpeg)
![Array Representation](./images/array-representation.jpeg)
ヒープの「トップ」のノードには親ノードが存在せず、ルートノードと呼ばれます。

View File

@ -4,11 +4,15 @@
*최소 힙*에서 `P``C`의 상위 노드라면 `P`의 키(값)는 `C`의 키보다 작거나 같습니다.
![MinHeap](https://upload.wikimedia.org/wikipedia/commons/6/69/Min-heap.png)
![MinHeap](./images/min-heap.jpeg)
*Made with [okso.app](https://okso.app)*
*최대 힙*에서 `P`의 키는 `C`의 키보다 크거나 같습니다.
![Heap](https://upload.wikimedia.org/wikipedia/commons/3/38/Max-Heap.svg)
![MaxHeap](./images/max-heap.jpeg)
![Array Representation](./images/array-representation.jpeg)
상위 노드가 없는 힙의 "상단"에 있는 노드를 루트 노드라고 합니다.

View File

@ -17,12 +17,16 @@ In a *min heap*, if `P` is a parent node of `C`, then the
key (the value) of `P` is less than or equal to the
key of `C`.
![MinHeap](https://upload.wikimedia.org/wikipedia/commons/6/69/Min-heap.png)
![MinHeap](./images/min-heap.jpeg)
*Made with [okso.app](https://okso.app)*
In a *max heap*, the key of `P` is greater than or equal
to the key of `C`
![Heap](https://upload.wikimedia.org/wikipedia/commons/3/38/Max-Heap.svg)
![MaxHeap](./images/max-heap.jpeg)
![Array Representation](./images/array-representation.jpeg)
The node at the "top" of the heap with no parents is
called the root node.

View File

@ -6,12 +6,16 @@ baseada em uma árvore especializada que satisfaz a propriedade _heap_ descrita
Em um *heap mínimo* (min heap), caso `P` é um nó pai de `C`, então a chave
(o valor) de `P` é menor ou igual a chave de `C`.
![MinHeap](https://upload.wikimedia.org/wikipedia/commons/6/69/Min-heap.png)
![MinHeap](./images/min-heap.jpeg)
*Made with [okso.app](https://okso.app)*
Em uma *heap máximo* (max heap), a chave de `P` é maior ou igual
a chave de `C`.
![Heap](https://upload.wikimedia.org/wikipedia/commons/3/38/Max-Heap.svg)
![MaxHeap](./images/max-heap.jpeg)
![Array Representation](./images/array-representation.jpeg)
O nó no "topo" do _heap_, cujo não possui pais, é chamado de nó raiz.

View File

@ -4,11 +4,15 @@
если B является узлом-потомком узла A, то ключ(A) ≥ ключ(B). Из этого следует, что элемент с наибольшим ключом всегда
является корневым узлом кучи, поэтому иногда такие кучи называют max-кучами.
![Max-куча](https://upload.wikimedia.org/wikipedia/commons/3/38/Max-Heap.svg)
![MaxHeap](./images/max-heap.jpeg)
![Array Representation](./images/array-representation.jpeg)
Если сравнение перевернуть, то наименьший элемент будет всегда корневым узлом, такие кучи называют min-кучами.
![Min-куча](https://upload.wikimedia.org/wikipedia/commons/6/69/Min-heap.png)
![MinHeap](./images/min-heap.jpeg)
*Made with [okso.app](https://okso.app)*
Не существует никаких ограничений относительно того, сколько узлов-потомков имеет каждый узел кучи. На практике их
число обычно не более двух. Куча является максимально эффективной реализацией абстрактного типа данных, который

View File

@ -4,15 +4,19 @@ Bilgisayar biliminde, **yığın (heap)** aşağıda açıklanan özellikleri ka
*min heap*, Eğer `P`, `C`'nin üst düğümü ise, `P`'nin anahtarı (değeri) `C`'nin anahtarından (değerinden) küçük veya ona eşittir.
![MinHeap](https://upload.wikimedia.org/wikipedia/commons/6/69/Min-heap.png)
![MinHeap](./images/min-heap.jpeg)
*max heap*, `P`'nin anahtarı `C`'nin anahtarından büyük veya eşittir.
*Made with [okso.app](https://okso.app)*
![Heap](https://upload.wikimedia.org/wikipedia/commons/3/38/Max-Heap.svg)
*max heap*, `P`'nin anahtarı `C`'nin anahtarından büyük veya eşittir.
![MaxHeap](./images/max-heap.jpeg)
![Array Representation](./images/array-representation.jpeg)
Yığının (Heap) "en üstündeki" ebeveyni olmayan düğüme kök düğüm (root node) denir.
## Referanslar
- [Wikipedia](https://en.wikipedia.org/wiki/Heap_(data_structure))
- [YouTube](https://www.youtube.com/watch?v=t0Cq6tVNRBA&index=5&t=0s&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8)
- [YouTube](https://www.youtube.com/watch?v=t0Cq6tVNRBA&index=5&t=0s&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8)

View File

@ -1,19 +1,23 @@
# 堆 (数据结构)
在计算机科学中, 一个 **堆(heap)** 是一种特殊的基于树的数据结构,它满足下面描述的堆属性。
在一个 *最小堆(min heap)* 中, 如果 `P``C` 的一个父级节点, 那么 `P` 的key(或value)应小于或等于 `C` 的对应值.
![最小堆](https://upload.wikimedia.org/wikipedia/commons/6/69/Min-heap.png)
在一个 *最大堆(max heap)* 中, `P` 的key(或value)大于 `C` 的对应值。
![](https://upload.wikimedia.org/wikipedia/commons/3/38/Max-Heap.svg)
在堆“顶部”的没有父级节点的节点,被称之为根节点。
## 参考
- [Wikipedia](https://en.wikipedia.org/wiki/Heap_(data_structure))
- [YouTube](https://www.youtube.com/watch?v=t0Cq6tVNRBA&index=5&t=0s&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8)
# 堆 (数据结构)
在计算机科学中, 一个 **堆(heap)** 是一种特殊的基于树的数据结构,它满足下面描述的堆属性。
在一个 *最小堆(min heap)* 中, 如果 `P``C` 的一个父级节点, 那么 `P` 的key(或value)应小于或等于 `C` 的对应值.
![M最小堆](./images/min-heap.jpeg)
*Made with [okso.app](https://okso.app)*
在一个 *最大堆(max heap)* 中, `P` 的key(或value)大于 `C` 的对应值。
![](./images/max-heap.jpeg)
![Array Representation](./images/array-representation.jpeg)
在堆“顶部”的没有父级节点的节点,被称之为根节点。
## 参考
- [Wikipedia](https://en.wikipedia.org/wiki/Heap_(data_structure))
- [YouTube](https://www.youtube.com/watch?v=t0Cq6tVNRBA&index=5&t=0s&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8)

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

View File

@ -7,9 +7,9 @@ _Lee este artículo en otros idiomas:_
[_Português_](README.pt-BR.md)
[_English_](README.md)
En ciencias de la computaciòn una **lista enlazada** es una coleccion linear
En ciencias de la computaciòn una **lista enlazada** es una coleccion linear
de elementos de datos, en los cuales el orden linear no es dado por
su posciòn fisica en memoria. En cambio, cada
su posciòn fisica en memoria. En cambio, cada
elemento señala al siguiente. Es una estructura de datos
que consiste en un grupo de nodos los cuales juntos representan
una secuencia. En su forma más sencilla, cada nodo está
@ -24,7 +24,9 @@ acceso es lineal (y difícil de canalizar). Un acceso
más rápido, como un acceso aleatorio, no es factible. Los arreglos
tienen una mejor locazion en caché comparados con las listas lazadas.
![Linked List](https://upload.wikimedia.org/wikipedia/commons/6/6d/Singly-linked-list.svg)
![Linked List](./images/linked-list.jpeg)
*Made with [okso.app](https://okso.app)*
## Pseudocódigo para operaciones básicas

View File

@ -2,7 +2,9 @@
コンピュータサイエンスにおいて、**リンクリスト**はデータ要素の線形コレクションです。要素の順番はメモリ内の物理的な配置によっては決まりません。代わりに、各要素が次の要素を指しています。リンクリストはノードのグループからなるデータ構造です。最も単純な形式では、各ノードはデータとシーケンス内における次のノードへの参照(つまり、リンク)で構成されています。この構造はイテレーションにおいて任意の位置へ要素を効率的に挿入、削除することを可能にしています。より複雑なリンクリストではリンクをさらに追加することで、任意の要素の参照から要素を効率的に挿入、削除することを可能にしています。リンクリストの欠点はアクセスタイムが線形である(そして、パイプライン処理が難しい)ことです。ランダムアクセスのような高速なアクセスは実現不可能です。配列の方がリンクリストと比較して参照の局所性が優れています。
![Linked List](https://upload.wikimedia.org/wikipedia/commons/6/6d/Singly-linked-list.svg)
![Linked List](./images/linked-list.jpeg)
*Made with [okso.app](https://okso.app)*
## 基本操作の擬似コード
@ -53,7 +55,7 @@ Contains(head, value)
return true
end Contains
```
### 削除
```text

View File

@ -8,7 +8,9 @@ _Read this in other languages:_
컴퓨터과학에서, **링크드 리스트**는 데이터 요소의 선형 집합이며, 이 집합에서 논리적 저장 순서는 메모리의 물리적 저장 순서와 일치하지 않습니다. 그 대신, 각각의 원소들은 자기 자신 다음의 원소를 가리킵니다. **링크드 리스트**는 순서를 표현하는 노드들의 집합으로 이루어져 있습니다. 간단하게, 각각의 노드들은 데이터와 다음 순서의 노드를 가리키는 레퍼런스로 이루어져 있습니다. (링크라고 부릅니다.) 이 자료구조는 순회하는 동안 순서에 상관없이 효율적인 삽입이나 삭제가 가능합니다. 더 복잡한 변형은 추가적인 링크를 더해, 임의의 원소 참조로부터 효율적인 삽입과 삭제를 가능하게 합니다. 링크드 리스트의 단점은 접근 시간이 선형이라는 것이고, 병렬처리도 하지 못합니다. 임의 접근처럼 빠른 접근은 불가능합니다. 링크드 리스트에 비해 배열이 더 나은 캐시 지역성을 가지고 있습니다.
![링크드 리스트](https://upload.wikimedia.org/wikipedia/commons/6/6d/Singly-linked-list.svg)
![Linked List](./images/linked-list.jpeg)
*Made with [okso.app](https://okso.app)*
## 기본 연산에 대한 수도코드
@ -60,7 +62,7 @@ Contains(head, value)
return true
end Contains
```
### 삭제
```text

View File

@ -26,7 +26,9 @@ time is linear (and difficult to pipeline). Faster
access, such as random access, is not feasible. Arrays
have better cache locality as compared to linked lists.
![Linked List](https://upload.wikimedia.org/wikipedia/commons/6/6d/Singly-linked-list.svg)
![Linked List](./images/linked-list.jpeg)
*Made with [okso.app](https://okso.app)*
## Pseudocode for Basic Operations

View File

@ -18,7 +18,9 @@ pipeline). Acesso mais rápido, como acesso aleatório, não é viável.
Arrays possuem uma melhor localização de cache em comparação
com listas encadeadas (linked lists).
![Linked List](https://upload.wikimedia.org/wikipedia/commons/6/6d/Singly-linked-list.svg)
![Linked List](./images/linked-list.jpeg)
*Made with [okso.app](https://okso.app)*
## Pseudo código para Operações Básicas

View File

@ -6,7 +6,9 @@
Недостатком связных списков является то, что время доступа линейно (и затруднительно для реализации конвейеров). Быстрый доступ(случайный) невозможен.
![Связный список](https://upload.wikimedia.org/wikipedia/commons/6/6d/Singly-linked-list.svg)
![Linked List](./images/linked-list.jpeg)
*Made with [okso.app](https://okso.app)*
## Псевдокод основных операций
@ -57,7 +59,7 @@ Contains(head, value)
return true
end Contains
```
### Удаление
```text

View File

@ -19,7 +19,9 @@ Bağlantılı listelerin bir dezavantajı, erişim süresinin doğrusal olmasıd
(ve ardışık düzene geçirilmesi zordur). Rastgele erişim gibi daha hızlı erişim
mümkün değildir. Diziler, bağlantılı listelere kıyasla daha iyi önbellek konumuna sahiptir.
![Bağlantılı Liste](https://upload.wikimedia.org/wikipedia/commons/6/6d/Singly-linked-list.svg)
![Linked List](./images/linked-list.jpeg)
*Made with [okso.app](https://okso.app)*
## Temel İşlemler için Sözde Kod

View File

@ -8,7 +8,9 @@
更快的访问,如随机访问,是不可行的。与链表相比,数组具有更好的缓存位置。
![Linked List](https://upload.wikimedia.org/wikipedia/commons/6/6d/Singly-linked-list.svg)
![Linked List](./images/linked-list.jpeg)
*Made with [okso.app](https://okso.app)*
## 基本操作的伪代码
@ -59,7 +61,7 @@ Contains(head, value)
return true
end Contains
```
### 删除
```text
@ -107,7 +109,7 @@ Traverse(head)
end while
end Traverse
```
### 反向遍历
```text

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

View File

@ -20,7 +20,9 @@ structure de données linéaire, ou, plus abstraitement, une collection séquent
Représentation d'une file PEPS (premier entré, premier sorti)
![Queue](https://upload.wikimedia.org/wikipedia/commons/5/52/Data_Queue.svg)
![Queue](./images/queue.jpeg)
*Made with [okso.app](https://okso.app)*
## Références

View File

@ -4,7 +4,9 @@
FIFO(先入れ先出し)のキュー
![Queue](https://upload.wikimedia.org/wikipedia/commons/5/52/Data_Queue.svg)
![Queue](./images/queue.jpeg)
*Made with [okso.app](https://okso.app)*
## 参考

View File

@ -13,7 +13,9 @@ _Read this in other languages:_
선입선출 자료 구조인 큐를 나타내면 다음과 같습니다.
![Queue](https://upload.wikimedia.org/wikipedia/commons/5/52/Data_Queue.svg)
![Queue](./images/queue.jpeg)
*Made with [okso.app](https://okso.app)*
## 참고

View File

@ -26,7 +26,9 @@ sequential collection.
Representation of a FIFO (first in, first out) queue
![Queue](https://upload.wikimedia.org/wikipedia/commons/5/52/Data_Queue.svg)
![Queue](./images/queue.jpeg)
*Made with [okso.app](https://okso.app)*
## References

View File

@ -20,7 +20,9 @@ coleção seqüencial.
Representação de uma file FIFO (first in, first out)
![Queue](https://upload.wikimedia.org/wikipedia/commons/5/52/Data_Queue.svg)
![Queue](./images/queue.jpeg)
*Made with [okso.app](https://okso.app)*
## References

View File

@ -11,7 +11,9 @@
Иллюстрация работы с очередью.
![Очередь](https://upload.wikimedia.org/wikipedia/commons/5/52/Data_Queue.svg)
![Очередь](./images/queue.jpeg)
*Made with [okso.app](https://okso.app)*
## References

View File

@ -7,7 +7,9 @@
队列中元素先进先出 FIFO (first in, first out)的示意
![Queue](https://upload.wikimedia.org/wikipedia/commons/5/52/Data_Queue.svg)
![Queue](./images/queue.jpeg)
*Made with [okso.app](https://okso.app)*
## 参考

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

View File

@ -20,7 +20,9 @@ autres articles en premier.
Représentation simple de l'éxecution d'une pile avec des opérations empiler (push) et dépiler (pop).
![Stack](https://upload.wikimedia.org/wikipedia/commons/b/b4/Lifo_stack.png)
![Stack](./images/stack.jpeg)
*Made with [okso.app](https://okso.app)*
## Références

View File

@ -9,7 +9,9 @@
プッシュとポップの例
![Stack](https://upload.wikimedia.org/wikipedia/commons/b/b4/Lifo_stack.png)
![Stack](./images/stack.jpeg)
*Made with [okso.app](https://okso.app)*
## 参考

View File

@ -16,7 +16,9 @@ _Read this in other languages:_
다음은 push와 pop 연산을 실행하는 간단한 스택의 실행입니다.
![Stack](https://upload.wikimedia.org/wikipedia/commons/b/b4/Lifo_stack.png)
![Stack](./images/stack.jpeg)
*Made with [okso.app](https://okso.app)*
## 참조

View File

@ -8,24 +8,26 @@ _Read this in other languages:_
[_Português_](README.pt-BR.md),
[_한국어_](README.ko-KR.md)
In computer science, a **stack** is an abstract data type that serves
In computer science, a **stack** is an abstract data type that serves
as a collection of elements, with two principal operations:
* **push**, which adds an element to the collection, and
* **pop**, which removes the most recently added element that was not yet removed.
The order in which elements come off a stack gives rise to its
alternative name, LIFO (last in, first out). Additionally, a
peek operation may give access to the top without modifying
the stack. The name "stack" for this type of structure comes
from the analogy to a set of physical items stacked on top of
each other, which makes it easy to take an item off the top
of the stack, while getting to an item deeper in the stack
The order in which elements come off a stack gives rise to its
alternative name, LIFO (last in, first out). Additionally, a
peek operation may give access to the top without modifying
the stack. The name "stack" for this type of structure comes
from the analogy to a set of physical items stacked on top of
each other, which makes it easy to take an item off the top
of the stack, while getting to an item deeper in the stack
may require taking off multiple other items first.
Simple representation of a stack runtime with push and pop operations.
![Stack](https://upload.wikimedia.org/wikipedia/commons/b/b4/Lifo_stack.png)
![Stack](./images/stack.jpeg)
*Made with [okso.app](https://okso.app)*
## References

View File

@ -18,7 +18,9 @@ vários outros itens primeiro.
Representação simples de um tempo de execução de pilha com operações
_push_ e _pop_.
![Stack](https://upload.wikimedia.org/wikipedia/commons/b/b4/Lifo_stack.png)
![Stack](./images/stack.jpeg)
*Made with [okso.app](https://okso.app)*
## Referências

View File

@ -8,14 +8,16 @@
* **удаление (pop)**, последнего добавленного элемента.
Дополнительная операция чтения головного элемента (peek) даёт доступ
к последнему элементу стека без изменения самого стека.
к последнему элементу стека без изменения самого стека.
Чаще всего принцип работы стека сравнивают со стопкой тарелок: чтобы взять вторую
сверху, нужно снять верхнюю.
Иллюстрация работы со стеком.
![Стек](https://upload.wikimedia.org/wikipedia/commons/b/b4/Lifo_stack.png)
![Stack](./images/stack.jpeg)
*Made with [okso.app](https://okso.app)*
## Ссылки

View File

@ -13,7 +13,9 @@
栈的 push 和 pop 操作的示意
![Stack](https://upload.wikimedia.org/wikipedia/commons/b/b4/Lifo_stack.png)
![Stack](./images/stack.jpeg)
*Made with [okso.app](https://okso.app)*
## 参考

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

View File

@ -10,24 +10,26 @@ _Read this in other languages:_
* [Segment Tree](segment-tree) - with min/max/sum range queries examples
* [Fenwick Tree](fenwick-tree) (Binary Indexed Tree)
In computer science, a **tree** is a widely used abstract data
type (ADT) — or data structure implementing this ADT—that
simulates a hierarchical tree structure, with a root value
and subtrees of children with a parent node, represented as
In computer science, a **tree** is a widely used abstract data
type (ADT) — or data structure implementing this ADT—that
simulates a hierarchical tree structure, with a root value
and subtrees of children with a parent node, represented as
a set of linked nodes.
A tree data structure can be defined recursively (locally)
as a collection of nodes (starting at a root node), where
each node is a data structure consisting of a value,
together with a list of references to nodes (the "children"),
with the constraints that no reference is duplicated, and none
A tree data structure can be defined recursively (locally)
as a collection of nodes (starting at a root node), where
each node is a data structure consisting of a value,
together with a list of references to nodes (the "children"),
with the constraints that no reference is duplicated, and none
points to the root.
A simple unordered tree; in this diagram, the node labeled 7 has
two children, labeled 2 and 6, and one parent, labeled 2. The
root node, at the top, has no parent.
![Tree](https://upload.wikimedia.org/wikipedia/commons/f/f7/Binary_tree.svg)
![Tree](./images/tree.jpeg)
*Made with [okso.app](https://okso.app)*
## References

View File

@ -22,7 +22,9 @@ Uma árvore não ordenada simples; neste diagrama, o nó rotulado como `7`
possui dois filhos, rotulados como `2` e `6`, e um pai, rotulado como `2`.
O nó raíz, no topo, não possui nenhum pai.
![Tree](https://upload.wikimedia.org/wikipedia/commons/f/f7/Binary_tree.svg)
![Tree](./images/tree.jpeg)
*Made with [okso.app](https://okso.app)*
## Referências

View File

@ -13,10 +13,12 @@
一棵简单的无序树; 在下图中:
标记为7的节点具有两个子节点, 标记为2和6;
标记为7的节点具有两个子节点, 标记为2和6;
一个父节点,标记为2,作为根节点, 在顶部,没有父节点。
![Tree](https://upload.wikimedia.org/wikipedia/commons/f/f7/Binary_tree.svg)
![Tree](./images/tree.jpeg)
*Made with [okso.app](https://okso.app)*
## 参考

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB