diff --git a/src/data-structures/doubly-linked-list/README.es-ES.md b/src/data-structures/doubly-linked-list/README.es-ES.md index 15a62355..490466d7 100644 --- a/src/data-structures/doubly-linked-list/README.es-ES.md +++ b/src/data-structures/doubly-linked-list/README.es-ES.md @@ -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. diff --git a/src/data-structures/doubly-linked-list/README.ja-JP.md b/src/data-structures/doubly-linked-list/README.ja-JP.md index ede22817..0ff96628 100644 --- a/src/data-structures/doubly-linked-list/README.ja-JP.md +++ b/src/data-structures/doubly-linked-list/README.ja-JP.md @@ -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 ``` - + ## 計算量 ## 時間計算量 diff --git a/src/data-structures/doubly-linked-list/README.ko-KR.md b/src/data-structures/doubly-linked-list/README.ko-KR.md index 192b1898..9f60e54f 100644 --- a/src/data-structures/doubly-linked-list/README.ko-KR.md +++ b/src/data-structures/doubly-linked-list/README.ko-KR.md @@ -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 ``` - + ## 복잡도 ## 시간 복잡도 diff --git a/src/data-structures/doubly-linked-list/README.md b/src/data-structures/doubly-linked-list/README.md index 703520aa..81c0797f 100644 --- a/src/data-structures/doubly-linked-list/README.md +++ b/src/data-structures/doubly-linked-list/README.md @@ -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 diff --git a/src/data-structures/doubly-linked-list/README.pt-BR.md b/src/data-structures/doubly-linked-list/README.pt-BR.md index 73c86f53..9ba3954d 100644 --- a/src/data-structures/doubly-linked-list/README.pt-BR.md +++ b/src/data-structures/doubly-linked-list/README.pt-BR.md @@ -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 diff --git a/src/data-structures/doubly-linked-list/README.ru-RU.md b/src/data-structures/doubly-linked-list/README.ru-RU.md index ddad0312..b69d0da3 100644 --- a/src/data-structures/doubly-linked-list/README.ru-RU.md +++ b/src/data-structures/doubly-linked-list/README.ru-RU.md @@ -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 ``` - + ## Сложность ## Временная сложность diff --git a/src/data-structures/doubly-linked-list/README.zh-CN.md b/src/data-structures/doubly-linked-list/README.zh-CN.md index 097ec0c9..3e669f4c 100644 --- a/src/data-structures/doubly-linked-list/README.zh-CN.md +++ b/src/data-structures/doubly-linked-list/README.zh-CN.md @@ -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 ``` - + ## 复杂度 ## 时间复杂度 diff --git a/src/data-structures/doubly-linked-list/images/doubly-linked-list.jpeg b/src/data-structures/doubly-linked-list/images/doubly-linked-list.jpeg new file mode 100644 index 00000000..01b6eb29 Binary files /dev/null and b/src/data-structures/doubly-linked-list/images/doubly-linked-list.jpeg differ diff --git a/src/data-structures/heap/README.fr-FR.md b/src/data-structures/heap/README.fr-FR.md index 49ad73cc..56f184b5 100644 --- a/src/data-structures/heap/README.fr-FR.md +++ b/src/data-structures/heap/README.fr-FR.md @@ -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. diff --git a/src/data-structures/heap/README.ja-JP.md b/src/data-structures/heap/README.ja-JP.md index 465e11a0..13d3e363 100644 --- a/src/data-structures/heap/README.ja-JP.md +++ b/src/data-structures/heap/README.ja-JP.md @@ -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) ヒープの「トップ」のノードには親ノードが存在せず、ルートノードと呼ばれます。 diff --git a/src/data-structures/heap/README.ko-KR.md b/src/data-structures/heap/README.ko-KR.md index ace702da..136a87b4 100644 --- a/src/data-structures/heap/README.ko-KR.md +++ b/src/data-structures/heap/README.ko-KR.md @@ -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) 상위 노드가 없는 힙의 "상단"에 있는 노드를 루트 노드라고 합니다. diff --git a/src/data-structures/heap/README.md b/src/data-structures/heap/README.md index 2610a9ff..ef1d2e8b 100644 --- a/src/data-structures/heap/README.md +++ b/src/data-structures/heap/README.md @@ -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. diff --git a/src/data-structures/heap/README.pt-BR.md b/src/data-structures/heap/README.pt-BR.md index e78f6c19..f229048d 100644 --- a/src/data-structures/heap/README.pt-BR.md +++ b/src/data-structures/heap/README.pt-BR.md @@ -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. diff --git a/src/data-structures/heap/README.ru-RU.md b/src/data-structures/heap/README.ru-RU.md index 760fc479..4c074d1f 100644 --- a/src/data-structures/heap/README.ru-RU.md +++ b/src/data-structures/heap/README.ru-RU.md @@ -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)* Не существует никаких ограничений относительно того, сколько узлов-потомков имеет каждый узел кучи. На практике их число обычно не более двух. Куча является максимально эффективной реализацией абстрактного типа данных, который diff --git a/src/data-structures/heap/README.tr-TR.md b/src/data-structures/heap/README.tr-TR.md index b741ef30..05906391 100644 --- a/src/data-structures/heap/README.tr-TR.md +++ b/src/data-structures/heap/README.tr-TR.md @@ -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) \ No newline at end of file +- [YouTube](https://www.youtube.com/watch?v=t0Cq6tVNRBA&index=5&t=0s&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8) diff --git a/src/data-structures/heap/README.zh-CN.md b/src/data-structures/heap/README.zh-CN.md index 4c1ecaf0..8ba42dfb 100644 --- a/src/data-structures/heap/README.zh-CN.md +++ b/src/data-structures/heap/README.zh-CN.md @@ -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) diff --git a/src/data-structures/heap/images/array-representation.jpeg b/src/data-structures/heap/images/array-representation.jpeg new file mode 100644 index 00000000..123b641c Binary files /dev/null and b/src/data-structures/heap/images/array-representation.jpeg differ diff --git a/src/data-structures/heap/images/max-heap.jpeg b/src/data-structures/heap/images/max-heap.jpeg new file mode 100644 index 00000000..1ec1fea2 Binary files /dev/null and b/src/data-structures/heap/images/max-heap.jpeg differ diff --git a/src/data-structures/heap/images/min-heap.jpeg b/src/data-structures/heap/images/min-heap.jpeg new file mode 100644 index 00000000..14867c1a Binary files /dev/null and b/src/data-structures/heap/images/min-heap.jpeg differ diff --git a/src/data-structures/linked-list/README.es-ES.md b/src/data-structures/linked-list/README.es-ES.md index 62cda8d1..c21c48cd 100644 --- a/src/data-structures/linked-list/README.es-ES.md +++ b/src/data-structures/linked-list/README.es-ES.md @@ -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 diff --git a/src/data-structures/linked-list/README.ja-JP.md b/src/data-structures/linked-list/README.ja-JP.md index e68b64fa..c7899704 100644 --- a/src/data-structures/linked-list/README.ja-JP.md +++ b/src/data-structures/linked-list/README.ja-JP.md @@ -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 diff --git a/src/data-structures/linked-list/README.ko-KR.md b/src/data-structures/linked-list/README.ko-KR.md index a6d0fd46..f68d8a46 100644 --- a/src/data-structures/linked-list/README.ko-KR.md +++ b/src/data-structures/linked-list/README.ko-KR.md @@ -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 diff --git a/src/data-structures/linked-list/README.md b/src/data-structures/linked-list/README.md index d4b9fa53..8819a390 100644 --- a/src/data-structures/linked-list/README.md +++ b/src/data-structures/linked-list/README.md @@ -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 diff --git a/src/data-structures/linked-list/README.pt-BR.md b/src/data-structures/linked-list/README.pt-BR.md index 95a244d0..579a4fce 100644 --- a/src/data-structures/linked-list/README.pt-BR.md +++ b/src/data-structures/linked-list/README.pt-BR.md @@ -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 diff --git a/src/data-structures/linked-list/README.ru-RU.md b/src/data-structures/linked-list/README.ru-RU.md index d76bcd82..98ad6c47 100644 --- a/src/data-structures/linked-list/README.ru-RU.md +++ b/src/data-structures/linked-list/README.ru-RU.md @@ -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 diff --git a/src/data-structures/linked-list/README.tr-TR.md b/src/data-structures/linked-list/README.tr-TR.md index e3f73fdf..e5ed0562 100644 --- a/src/data-structures/linked-list/README.tr-TR.md +++ b/src/data-structures/linked-list/README.tr-TR.md @@ -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 diff --git a/src/data-structures/linked-list/README.zh-CN.md b/src/data-structures/linked-list/README.zh-CN.md index 81f036ab..f0b75121 100644 --- a/src/data-structures/linked-list/README.zh-CN.md +++ b/src/data-structures/linked-list/README.zh-CN.md @@ -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 diff --git a/src/data-structures/linked-list/images/linked-list.jpeg b/src/data-structures/linked-list/images/linked-list.jpeg new file mode 100644 index 00000000..fbeab631 Binary files /dev/null and b/src/data-structures/linked-list/images/linked-list.jpeg differ diff --git a/src/data-structures/queue/README.fr-FR.md b/src/data-structures/queue/README.fr-FR.md index 452e875b..33d32774 100644 --- a/src/data-structures/queue/README.fr-FR.md +++ b/src/data-structures/queue/README.fr-FR.md @@ -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 diff --git a/src/data-structures/queue/README.ja-JP.md b/src/data-structures/queue/README.ja-JP.md index 7b033b09..1ffa9c1a 100644 --- a/src/data-structures/queue/README.ja-JP.md +++ b/src/data-structures/queue/README.ja-JP.md @@ -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)* ## 参考 diff --git a/src/data-structures/queue/README.ko-KR.md b/src/data-structures/queue/README.ko-KR.md index 204f6b9b..606c8ff3 100644 --- a/src/data-structures/queue/README.ko-KR.md +++ b/src/data-structures/queue/README.ko-KR.md @@ -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)* ## 참고 diff --git a/src/data-structures/queue/README.md b/src/data-structures/queue/README.md index 4db98224..c1e40d73 100644 --- a/src/data-structures/queue/README.md +++ b/src/data-structures/queue/README.md @@ -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 diff --git a/src/data-structures/queue/README.pt-BR.md b/src/data-structures/queue/README.pt-BR.md index b86c9713..94648641 100644 --- a/src/data-structures/queue/README.pt-BR.md +++ b/src/data-structures/queue/README.pt-BR.md @@ -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 diff --git a/src/data-structures/queue/README.ru-RU.md b/src/data-structures/queue/README.ru-RU.md index 419edade..1f9e5ff6 100644 --- a/src/data-structures/queue/README.ru-RU.md +++ b/src/data-structures/queue/README.ru-RU.md @@ -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 diff --git a/src/data-structures/queue/README.zh-CN.md b/src/data-structures/queue/README.zh-CN.md index d61a2c7d..af608107 100644 --- a/src/data-structures/queue/README.zh-CN.md +++ b/src/data-structures/queue/README.zh-CN.md @@ -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)* ## 参考 diff --git a/src/data-structures/queue/images/queue.jpeg b/src/data-structures/queue/images/queue.jpeg new file mode 100644 index 00000000..0e412d55 Binary files /dev/null and b/src/data-structures/queue/images/queue.jpeg differ diff --git a/src/data-structures/stack/README.fr-FR.md b/src/data-structures/stack/README.fr-FR.md index 5e9a95c8..0d6c3886 100644 --- a/src/data-structures/stack/README.fr-FR.md +++ b/src/data-structures/stack/README.fr-FR.md @@ -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 diff --git a/src/data-structures/stack/README.ja-JP.md b/src/data-structures/stack/README.ja-JP.md index 7f778284..55ca2520 100644 --- a/src/data-structures/stack/README.ja-JP.md +++ b/src/data-structures/stack/README.ja-JP.md @@ -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)* ## 参考 diff --git a/src/data-structures/stack/README.ko-KR.md b/src/data-structures/stack/README.ko-KR.md index 916aef1d..c36a472e 100644 --- a/src/data-structures/stack/README.ko-KR.md +++ b/src/data-structures/stack/README.ko-KR.md @@ -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)* ## 참조 diff --git a/src/data-structures/stack/README.md b/src/data-structures/stack/README.md index f2335da1..645e66c1 100644 --- a/src/data-structures/stack/README.md +++ b/src/data-structures/stack/README.md @@ -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 diff --git a/src/data-structures/stack/README.pt-BR.md b/src/data-structures/stack/README.pt-BR.md index 9390ea51..d1269d24 100644 --- a/src/data-structures/stack/README.pt-BR.md +++ b/src/data-structures/stack/README.pt-BR.md @@ -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 diff --git a/src/data-structures/stack/README.ru-RU.md b/src/data-structures/stack/README.ru-RU.md index 136cd6f4..3e33c871 100644 --- a/src/data-structures/stack/README.ru-RU.md +++ b/src/data-structures/stack/README.ru-RU.md @@ -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)* ## Ссылки diff --git a/src/data-structures/stack/README.zh-CN.md b/src/data-structures/stack/README.zh-CN.md index bd9bce4b..f00e3eab 100644 --- a/src/data-structures/stack/README.zh-CN.md +++ b/src/data-structures/stack/README.zh-CN.md @@ -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)* ## 参考 diff --git a/src/data-structures/stack/images/stack.jpeg b/src/data-structures/stack/images/stack.jpeg new file mode 100644 index 00000000..6a3bf599 Binary files /dev/null and b/src/data-structures/stack/images/stack.jpeg differ diff --git a/src/data-structures/tree/README.md b/src/data-structures/tree/README.md index d2d338f4..7eb7ec1d 100644 --- a/src/data-structures/tree/README.md +++ b/src/data-structures/tree/README.md @@ -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 diff --git a/src/data-structures/tree/README.pt-BR.md b/src/data-structures/tree/README.pt-BR.md index 905c419c..173e096c 100644 --- a/src/data-structures/tree/README.pt-BR.md +++ b/src/data-structures/tree/README.pt-BR.md @@ -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 diff --git a/src/data-structures/tree/README.zh-CN.md b/src/data-structures/tree/README.zh-CN.md index 3188c2b0..2f4df983 100644 --- a/src/data-structures/tree/README.zh-CN.md +++ b/src/data-structures/tree/README.zh-CN.md @@ -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)* ## 参考 diff --git a/src/data-structures/tree/images/tree.jpeg b/src/data-structures/tree/images/tree.jpeg new file mode 100644 index 00000000..d5919725 Binary files /dev/null and b/src/data-structures/tree/images/tree.jpeg differ