From 03e42f64031214ce57ce5daabc470f70bc30cbde Mon Sep 17 00:00:00 2001 From: Chetan Nada <83969719+chetannada@users.noreply.github.com> Date: Sat, 23 Sep 2023 04:48:51 +0530 Subject: [PATCH 01/20] Update: Implementations Links added in Aliquot_Sum.md (#216) * Update: Implementations Links in Aliquot_Sum.md Added Implementations Links in Aliquot_Sum.md * Update: Added Single Implementation Link in Aliquot_Sum.md Added Single Implementation Link of `The Algorithms` website in Aliquot_Sum.md * Update Aliquot_Sum.md --- en/Basic Math/Aliquot_Sum.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/en/Basic Math/Aliquot_Sum.md b/en/Basic Math/Aliquot_Sum.md index 88e8c998..2f282440 100644 --- a/en/Basic Math/Aliquot_Sum.md +++ b/en/Basic Math/Aliquot_Sum.md @@ -34,12 +34,8 @@ The reason we take the upper bound as $[\frac{n} 2]$ is that, the largest possib The sum which we obtain is the aliquot sum of the number ## Implementations -- [C#](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Numeric/AliquotSumCalculator.cs) -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/AliquotSum.java) -- [JavaScript](https://github.com/TheAlgorithms/JavaScript/blob/master/Maths/AliquotSum.js) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/maths/aliquot_sum.py) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/maths/aliquot_sum.rb) +- [TheAlgorithms](https://the-algorithms.com/algorithm/aliquot-sum) ## Sources - [Wikipedia](https://en.wikipedia.org/wiki/Aliquot_sum) -- [GeeksForGeeks](https://www.geeksforgeeks.org/aliquot-sum/) \ No newline at end of file +- [GeeksForGeeks](https://www.geeksforgeeks.org/aliquot-sum/) From 38a3b2f87e908e2724346be11df3ed825a302c55 Mon Sep 17 00:00:00 2001 From: hollowcrust <72879387+hollowcrust@users.noreply.github.com> Date: Sat, 11 Nov 2023 18:22:01 +0800 Subject: [PATCH 02/20] fix: Rewrite description to align with code and video (#220) --- ...tion Algorithm to Find Duplicate Number.md | 65 ++++++++++++++---- en/Search Algorithms/images/graph_1.png | Bin 0 -> 15836 bytes en/Search Algorithms/images/graph_2.png | Bin 0 -> 27717 bytes 3 files changed, 52 insertions(+), 13 deletions(-) create mode 100644 en/Search Algorithms/images/graph_1.png create mode 100644 en/Search Algorithms/images/graph_2.png diff --git a/en/Search Algorithms/Floyd Cycle Detection Algorithm to Find Duplicate Number.md b/en/Search Algorithms/Floyd Cycle Detection Algorithm to Find Duplicate Number.md index 320541aa..b23d0a56 100644 --- a/en/Search Algorithms/Floyd Cycle Detection Algorithm to Find Duplicate Number.md +++ b/en/Search Algorithms/Floyd Cycle Detection Algorithm to Find Duplicate Number.md @@ -1,38 +1,77 @@ -# Floyd Cycle Detection Algorithm to find duplicate number in an array +# Floyd Cycle Detection Algorithm to find duplicate numbers in an array ## Problem Statement Given an array of integers containing `n + 1` integers, where each integer is in the range `[1, n]` inclusive. If there is only one duplicate number in the input array, this algorithm returns the duplicate number without modifying the original array, otherwise, it returns -1. ## Approach +- We can imagine the array `arr` as a directed graph where each element is a node. `arr[i]` is the index of the node to which the i-th node points. +- For example, given the `arr = [1, 3, 4, 2, 3]`, we can represent `arr` as the following

+![image](images/graph_1.png) -- Use the function `f(x) = arr[x]` to construct the sequence: -`arr[0]`, `arr[arr[0]]`, `arr[arr[arr[0]]]`, `arr[arr[arr[arr[0]]]]`, etc.... -- Each new element in the sequence is an element in `arr[]` at the index of the previous element. -- Starting from `x = arr[0]`, it will produce a linked list with a cycle. -- The cycle appears because `arr[]` contains duplicate elements(at least one). The duplicate value is an entrance to the cycle. +- Since there are duplicates in `arr`, a cycle exists in the directed graph as there is a path from node 3 to itself, `3 -> 2 -> 4 -> 3`. +- The problem now becomes finding the entrance node to the cycle (3 in this case). +- We can use the Floyd Cycle Detection Algorithm (also known as the "Hare and Tortoise algorithm") to detect the entrance of the cycle. +- The idea of the algorithm is to maintain two pointers, `hare` and `tortoise` that iterate the array at different "speeds" (just like the fable). The details are as follows: +### The procedure +- Using two pointers `hare` and `tortoise`. +- Initiate `hare = tortoise = arr[0]`. +- For every next step until `hare == tortoise` again, assign `hare = arr[arr[hare]]` and `tortoise = arr[tortoise]` (`hare` "jumps" 2 steps while `tortoise` "jumps" one step). +- At this point, `hare == tortoise`, reset `tortoise = arr[0]` while keeping the value of `hare` in the above procedure. +- For every next step until `hare == tortoise` again, assign `hare = arr[hare]` and `tortoise = arr[tortoise]` (this time `hare` only "jumps" one step). +- When `tortoise == hare`, the entrance of the cycle is found, hence `hare` and `tortoise` represent the value of the duplicated element. +- Return `tortoise` (also possible to return `hare`) + ## Time Complexity -O(n) +`O(n)` ## Space Complexity -O(1) +`O(1)`, since we only use two extra variables as pointers. -## Example +## Example with step-by-step explanation +![image](images/graph_2.png) ``` -arr = [3, 4, 8, 5, 9, 1, 2, 6, 7, 4] +arr = [3, 4, 8, 5, 9, 1, 2, 6, 7, 4] -return value = 4 +hare = tortoise = arr[0] = 3 + +1st step: + - hare = arr[arr[3]] = arr[5] = 1 + - tortoise = arr[3] = 5 +2nd step: + - hare = arr[arr[1]] = arr[4] = 9 + - tortoise = arr[5] = 1 +3rd step: + - hare = arr[arr[9]] = arr[4] = 9 + - tortoise = arr[1] = 4 +4th step: + - hare = arr[arr[9]] = 9 + - tortoise = arr[4] = 9 + +tortoise = arr[0] = 3 + +1st step: + - hare = arr[9] = 4 + - tortoise = arr[3] = 5 +2nd step: + - hare = arr[4] = 9 + - tortoise = arr[5] = 1 +3rd step: + - hare = arr[9] = 4 + - tortoise = arr[1] = 4 + +return tortoise = 4 ``` ## Code Implementation Links - [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/search/floyd_cycle_detection_algo.cpp) - [C](https://github.com/TheAlgorithms/C/blob/master/searching/floyd_cycle_detection_algorithm.c) - #### Video Explanation -[YouTube video explaining the Floyd Cycle Detection algorithm](https://www.youtube.com/watch?v=B6smdk7pZ14) +- [YouTube video explaining the Floyd Cycle Detection algorithm](https://www.youtube.com/watch?v=B6smdk7pZ14) +- [Another Youtube video](https://www.youtube.com/watch?v=PvrxZaH_eZ4&t=1s) diff --git a/en/Search Algorithms/images/graph_1.png b/en/Search Algorithms/images/graph_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2a45b595c720f50af62178aefe7bee03a2055552 GIT binary patch literal 15836 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 X%8D1xmIyxAMp2Yim8p_?6#Rbxw_z7L literal 0 HcmV?d00001 diff --git a/en/Search Algorithms/images/graph_2.png b/en/Search Algorithms/images/graph_2.png new file mode 100644 index 0000000000000000000000000000000000000000..d51e9516c8f8678310415bd395367a49bf7c7842 GIT binary patch literal 27717 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 c= Date: Sun, 26 Nov 2023 17:12:49 +0530 Subject: [PATCH 03/20] Updated Code Implementation Links in Coin Change.md (#227) --- en/Dynamic Programming/Coin Change.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/en/Dynamic Programming/Coin Change.md b/en/Dynamic Programming/Coin Change.md index 6801cace..1ea91c86 100644 --- a/en/Dynamic Programming/Coin Change.md +++ b/en/Dynamic Programming/Coin Change.md @@ -49,7 +49,17 @@ Let's say we have 3 coin types `[1,2,3]` and we want to change for `7` cents. So So the final answer is **8**. 8 ways to make change of 7 cents using all coin types. `{{1,1,1,1,1,1,1}, {1,1,1,1,1,2}, {1,1,1,2,2}, {1,2,2,2}, {1,1,1,1,3}, {1,3,3}, {2,2,3}, {1,1,2,3}}` #### Code Implementation Link -[Python](https://github.com/TheAlgorithms/Python/blob/master/dynamic_programming/coin_change.py) +- [JavaScript](https://github.com/TheAlgorithms/JavaScript/blob/master/Dynamic-Programming/CoinChange.js) +- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/dynamic_programming/coin_change.cpp) +- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/greedyalgorithms/CoinChange.java) +- [Go](https://github.com/TheAlgorithms/Go/blob/master/dynamic/coinchange.go) +- [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/dynamic_programming/coin_change.rs) +- [Dart](https://github.com/TheAlgorithms/Dart/blob/master/dynamic_programming/coin_change.dart) +- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/dynamic_programming/coin_change.rb) +- [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/DynamicProgramming/CoinChange.scala) +- [Julia](https://github.com/TheAlgorithms/Julia/blob/main/src/dynamic_programming/coin_change.jl) +- [Lua](https://github.com/TheAlgorithms/Lua/blob/main/src/misc/coin_change.lua) +- [C#](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Problems/DynamicProgramming/CoinChange/DynamicCoinChangeSolver.cs) #### Video Explanation [Total Unique Ways To Make Change by Back To Back SWE](https://www.youtube.com/watch?v=DJ4a7cmjZY0) From e866193840fc0b2054041afd27a45fac2abeeb56 Mon Sep 17 00:00:00 2001 From: The Defective Detective <71999854+SpiderMath@users.noreply.github.com> Date: Thu, 30 Nov 2023 15:07:05 +0530 Subject: [PATCH 04/20] Update implementation links for Radix Sort (#226) --- en/Sorting Algorithms/Radix Sort.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/en/Sorting Algorithms/Radix Sort.md b/en/Sorting Algorithms/Radix Sort.md index d7490790..c8605f19 100644 --- a/en/Sorting Algorithms/Radix Sort.md +++ b/en/Sorting Algorithms/Radix Sort.md @@ -51,6 +51,7 @@ takes extra space to sort numbers. - [Assembly](https://github.com/TheAlgorithms/AArch64_Assembly/blob/main/sorters/radix_sort.s) - [C](https://github.com/TheAlgorithms/C/blob/master/sorting/radix_sort.c) - [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/radix_sort.cpp) +- [C#](https://github.com/TheAlgorithms/C-Sharp/tree/master/Algorithms/Sorters/Integer/RadixSorter.cs) - [Dart](https://github.com/TheAlgorithms/Dart/blob/master/sort/radix_sort.dart) - [Go](https://github.com/TheAlgorithms/Go/blob/master/sort/radixsort.go) - [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/RadixSort.java) @@ -61,6 +62,7 @@ takes extra space to sort numbers. - [R](https://github.com/TheAlgorithms/R/blob/master/sorting_algorithms/radix_sort.r) - [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/radix_sort.rb) - [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/sorting/radix_sort.rs) +- [Zig](https://github.com/TheAlgorithms/Zig/blob/main/sort/radixSort.zig) #### Video Explanation From 5b865cfc6656809d50c2065f7dfa7f48f6098216 Mon Sep 17 00:00:00 2001 From: The Defective Detective <71999854+SpiderMath@users.noreply.github.com> Date: Thu, 30 Nov 2023 15:08:24 +0530 Subject: [PATCH 05/20] Update implementation links for Vigenere Cipher (#225) --- en/Ciphers/vigenere_cipher.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/en/Ciphers/vigenere_cipher.md b/en/Ciphers/vigenere_cipher.md index 04360074..88768aaa 100644 --- a/en/Ciphers/vigenere_cipher.md +++ b/en/Ciphers/vigenere_cipher.md @@ -65,5 +65,9 @@ Decryption is similar to encryption (except for the subtraction operation). ## Implementations - [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/ciphers/vigenere_cipher.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/ciphers/vigenere_cipher.py) +- [C#](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Encoders/VigenereEncoder.cs) +- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/ciphers/Vigenere.java) - [JavaScript](https://github.com/TheAlgorithms/JavaScript/blob/master/Ciphers/VigenereCipher.js) +- [Julia](https://github.com/TheAlgorithms/Julia/blob/main/src/cipher/vigenere.jl) +- [Python](https://github.com/TheAlgorithms/Python/blob/master/ciphers/vigenere_cipher.py) +- [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/ciphers/vigenere.rs) From 04db59a7c224fa8cee02cdccaddf627e94e2c0e5 Mon Sep 17 00:00:00 2001 From: The Defective Detective <71999854+SpiderMath@users.noreply.github.com> Date: Thu, 30 Nov 2023 15:09:13 +0530 Subject: [PATCH 06/20] Update implementation links for Caesar Cipher (#224) --- en/Ciphers/caesar_cipher.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/en/Ciphers/caesar_cipher.md b/en/Ciphers/caesar_cipher.md index f002d77a..9b1ba40f 100644 --- a/en/Ciphers/caesar_cipher.md +++ b/en/Ciphers/caesar_cipher.md @@ -38,4 +38,8 @@ Let us say we are sending a secret message to a friend. ## Implementation +* [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/ciphers/caesar_cipher.cpp) +* [JavaScript](https://github.com/TheAlgorithms/JavaScript/blob/master/Ciphers/CaesarCipher.js) +* [PHP](https://github.com/TheAlgorithms/PHP/blob/master/Ciphers/CaesarCipher.php) * [Python](https://github.com/TheAlgorithms/Python/blob/master/ciphers/caesar_cipher.py) + From f0632d516bf8d4fcd60dd853600b85d7a67a5380 Mon Sep 17 00:00:00 2001 From: Surani Naranpanawa <126441309+Surani02@users.noreply.github.com> Date: Thu, 7 Dec 2023 18:26:49 +0530 Subject: [PATCH 07/20] Add Queue explanation (#223) --- en/Data Structures/Queues/queue.md | 35 ++++++++++++++++++++ en/Dynamic Programming/Kadane's Algorithm.md | 4 +++ 2 files changed, 39 insertions(+) create mode 100644 en/Data Structures/Queues/queue.md diff --git a/en/Data Structures/Queues/queue.md b/en/Data Structures/Queues/queue.md new file mode 100644 index 00000000..93d83066 --- /dev/null +++ b/en/Data Structures/Queues/queue.md @@ -0,0 +1,35 @@ +# Queue + +## Description + +A queue is a linear data structure that follows the First-In-First-Out (FIFO) principle. It is often compared to a real-world queue of people waiting in line. The element that is added first is the one that gets removed first. Queues are commonly used for various applications, such as task scheduling, managing requests, and more. + +## Queue Operations + +1) Enqueue (Push): This operation is used to add an item to the back or end of the queue. It's equivalent to "pushing" an item onto the queue. When you enqueue an item, it becomes the last item in the queue. + +2) Dequeue (Pop): Dequeue is the operation used to remove and return the front item from the queue. The item that has been in the queue the longest (the front item) is the one removed. After dequeuing an item, the next item in the queue becomes the new front. + +3) Peek (Front): This operation is used to view the front item in the queue without removing it. It provides a way to examine the item at the front of the queue without actually dequeuing it. + +4) isEmpty: This operation checks whether the queue is empty. If the queue contains no items, it returns true; otherwise, it returns false. + +## Source + +- [Queue Data Structure](https://www.geeksforgeeks.org/queue-data-structure/) + +## Video URL + +- [Queue in Data Structure](https://www.youtube.com/watch?v=zp6pBNbUB2U) +- [Implementation of Queue using Arrays](https://www.youtube.com/watch?v=YqrFeU90Coo) +- [Queue Implementation using Linked List in C](https://www.youtube.com/watch?v=RN1wzY_tnYU) + +## Implementation + +1) Queue Implementation Using Lists (Arrays) + +In this approach, you can use a list (or array) to represent a queue. You will maintain two pointers, one pointing to the front of the queue and another pointing to the back. The front pointer keeps track of the element to be dequeued, and the back pointer keeps track of where new elements should be enqueued. + +2) Queue Implementation Using a Linked List + +In this approach, you can use a linked list to implement a queue. You maintain two pointers, one pointing to the front (head) of the queue and another pointing to the back (tail). Enqueueing involves adding a new node at the tail, and dequeueing involves removing the node at the head. diff --git a/en/Dynamic Programming/Kadane's Algorithm.md b/en/Dynamic Programming/Kadane's Algorithm.md index 6e53f07f..1b82136d 100644 --- a/en/Dynamic Programming/Kadane's Algorithm.md +++ b/en/Dynamic Programming/Kadane's Algorithm.md @@ -111,3 +111,7 @@ largest_sum = max(5, 6) = 6 ### Code Implementation Links - [Python](https://github.com/TheAlgorithms/Python/blob/252df0a149502143a14e7283424d40b785dd451c/maths/kadanes.py) + +### Video Explanation Link + +- [Kadane's Algorithm to Maximum Sum Subarray Problem](https://www.youtube.com/watch?v=86CQq3pKSUw) From ddd1e4ebde121b31f7343767a345e38408488a73 Mon Sep 17 00:00:00 2001 From: David Leal Date: Tue, 16 Jan 2024 01:17:49 -0600 Subject: [PATCH 08/20] chore: update copyright notices to 2024 --- LICENSE.md => LICENSE.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) rename LICENSE.md => LICENSE.txt (94%) diff --git a/LICENSE.md b/LICENSE.txt similarity index 94% rename from LICENSE.md rename to LICENSE.txt index fba99dd0..9000c9ce 100644 --- a/LICENSE.md +++ b/LICENSE.txt @@ -1,6 +1,5 @@ The MIT License (MIT) - -Copyright © 2020-2021 The Algorithms +Copyright (C) 2020-2024 The Algorithms and contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: From 6886024c621b8167ecd75a10f5f8462d31f5650a Mon Sep 17 00:00:00 2001 From: David Leal Date: Thu, 8 Feb 2024 23:55:34 -0600 Subject: [PATCH 09/20] chore: add line breaks in the license file --- LICENSE.txt | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/LICENSE.txt b/LICENSE.txt index 9000c9ce..34466e2a 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,8 +1,21 @@ -The MIT License (MIT) -Copyright (C) 2020-2024 The Algorithms and contributors +The MIT License -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Copyright (c) 2020-2024 The Algorithms and contributors -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. From 4d500fdd15ae969a1328e68a6eb662446e4a08c4 Mon Sep 17 00:00:00 2001 From: Xceptions Date: Wed, 28 Feb 2024 16:00:41 +0100 Subject: [PATCH 10/20] Add trie data structure explanation (#229) --- en/Data Structures/Tries/trie.md | 158 +++++++++++++++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 en/Data Structures/Tries/trie.md diff --git a/en/Data Structures/Tries/trie.md b/en/Data Structures/Tries/trie.md new file mode 100644 index 00000000..0be94fce --- /dev/null +++ b/en/Data Structures/Tries/trie.md @@ -0,0 +1,158 @@ +# Trie + +A trie (also called a prefix tree) is a tree data structure that shows order, linking parents to children. It is an efficient way of storing objects that have commonalities. A good example would be in storing phone numbers, or strings in general + +For the strings example, supposing we have a list of strings to store in our data store + +1. egg +2. eat +3. ear +4. end + +And one of the methods we are to support is a search operation for any of the words, we can approach it the basic way - select each word, and do a string comparison, matching letter to letter. The algorithm would be as follows: + + +``` +## searching for ear in data store + +data_store = ["egg", "eat", "ear", "end"] +to_find = "ear" + +## pick each word +## do a string match letter by letter +## when you find a mismatch, move to the next string +## continue this process +## if at the end of an iteration, index has been increased to +## the length of the word to find, we have found a match + +for word in data_store: + index = 0 + while index < len(word): + if to_find[index] != word[index]: + break + index += 1 + if index == len(to_find): + print("a match has been found") + +``` + +Without a doubt, this strategy will work, but the time complexity of doing this is *O(num of words x len of longest word)* which is quite expensive. +However, if we represent the storage of numbers in a tree such that each letter appears only once in a particular level in the tree, we can achieve a much better search time. Take, for example, the tree below + +``` + e + / | \ + a n g + / \ | | + r t d g + +``` + +You can see from the above representation, that all the words are in the tree, starting from the letter e, which is found at the beginning of all the words, then a, n, and g coming in the next level and so on... +The above representation is called a trie. + +# Standard Trie Operations + +1) insert(): inserts the string into the trie. +2) search(): searches for the string within the trie. + +# Building a Trie + +## Defining a node class for the elements of the trie + +To start building a trie, you first need to define a node with the revelant attributes needed for any trie. + +``` +class Node: + def __init__(self, is_word: bool=False): + self.is_word = is_word + self.children = {} +``` + +Here, you can see that the class `Node` has three instance attributes: +1. is_word: *bool* = to mark whether that node in the trie marks the completion of a word +2. children: *Dict* = to hold pointers to other children nodes + +Then the trie gets built by creating a node for each letter and adding it as a child to the node before it + +## Building the trie itself + +Start by initializing an empty node + +``` +class Trie: + def __init__(self): + self.node = Node() +``` + +For the insert operation, fetch the starting node, then for every letter in the word, add it to the children of the letter before it. The final node has its `is_word` attribute marked as **True** because we want to be aware of where the word ends + +``` +def insert(self, word: str) -> None: + node = self.node + for ltr in word: + if ltr not in node.children: + node.children[ltr] = Node() + node = node.children[ltr] + node.is_word=True +``` + +*In the code above, the `node` variable starts by holding a reference to the null node, while the `ltr` iterating variable starts by holding the first letter in `word`. This would ensure that `node` is one level ahead of `ltr`. As they are both moved forward in the iterations, `node` will always remain one level ahead of `ltr`* + +For the search operation, fetch the starting node, then for every letter in the word, check if it is present in the `children` attribute of the current node. As long as it is present, repeat for the next letter and next node. If during the search process, we find a letter that is not present, then the word does not exist in the trie. If we successfully get to the end of the iteration, then we have found what we are looking for. It is time to return a value + +Take a look at the code + +``` +def search(self, word: str) -> bool: + node = self.node + for ltr in word: + if ltr not in node.children: + return False + node = node.children[ltr] + return node.is_word +``` + +For the return value, there are two cases: +1. we are searching for a word -> return `node.is_word` because we want to be sure it is actually a word, and not a prefix +2. we are searching for a prefix -> return **True** because whether it is a word or not, it is prefix that exists in the trie + +Now here is the full code + +``` +class Node: + def __init__(self, is_word: bool=False): + self.is_word = is_word + self.children = {} + +class Trie: + + def __init__(self): + self.node = Node() + + + def insert(self, word: str) -> None: + node = self.node + for ltr in word: + if ltr not in node.children: + node.children[ltr] = Node() + node = node.children[ltr] + node.is_word=True + + + def search(self, word: str) -> bool: + node = self.node + for ltr in word: + if ltr not in node.children: + return False + node = node.children[ltr] + return node.is_word +``` + +# Helpful links + +1) [Trie Data Structure - GeeksForGeeks](https://www.geeksforgeeks.org/trie-insert-and-search/) + +# Video Playlist + +- [Trie Data Structure](https://www.youtube.com/watch?v=zIjfhVPRZCg) \ No newline at end of file From fe77013808619101935af2b60fc76eb2820800b9 Mon Sep 17 00:00:00 2001 From: Piotr Idzik <65706193+vil02@users.noreply.github.com> Date: Thu, 4 Apr 2024 17:49:33 +0200 Subject: [PATCH 11/20] chore: add `url_check.yml` (#231) * chore: add `url_check.yml` * docs: remove some broken links * chore: do not fail when broken links found --- .github/workflows/url_check.yml | 28 +++++++++++++++++++ en/Basic Math/Fibonacci_Numbers.md | 3 -- en/Basic Math/Geometric Pogression.md | 1 - .../Linked Lists/Singly Linked List.md | 1 - en/Sorting Algorithms/Merge Sort.md | 3 -- .../Ordenamiento de fusi\303\263n.md" | 3 -- .../B\303\272squeda lineal.md" | 1 - .../Lista singular vinculada.md | 1 - fr/tri/Tri_fusion.md | 3 -- ...7\225\327\240\327\220\327\246'\327\231.md" | 1 - ...61\353\271\204\354\210\230\354\227\264.md" | 1 - ...0 \353\246\254\354\212\244\355\212\270.md" | 1 - ...1\355\225\251 \354\240\225\353\240\254.md" | 3 -- .../\355\236\231 \354\240\225\353\240\254.md" | 1 - ...0\355\230\225 \355\203\220\354\203\211.md" | 1 - pt-br/Algoritmos de Busca/Busca Linear.md | 1 - .../Merge Sort.md" | 3 -- .../Linked Lists/Lista individual.md | 1 - 18 files changed, 28 insertions(+), 29 deletions(-) create mode 100644 .github/workflows/url_check.yml diff --git a/.github/workflows/url_check.yml b/.github/workflows/url_check.yml new file mode 100644 index 00000000..4e28798a --- /dev/null +++ b/.github/workflows/url_check.yml @@ -0,0 +1,28 @@ +--- +name: url_check + +'on': + workflow_dispatch: + push: + branches: + - master + pull_request: + schedule: + - cron: '43 5 * * TUE' + +jobs: + run_lychee: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Check links + uses: lycheeverse/lychee-action@v1.9.3 + with: + args: > + --no-progress + * + fail: false +... diff --git a/en/Basic Math/Fibonacci_Numbers.md b/en/Basic Math/Fibonacci_Numbers.md index 01e8df48..bb61a3e0 100644 --- a/en/Basic Math/Fibonacci_Numbers.md +++ b/en/Basic Math/Fibonacci_Numbers.md @@ -57,17 +57,14 @@ F(8)=21 ## Implementation -- [C](https://github.com/TheAlgorithms/C/blob/master/misc/fibonacci.c) - [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/math/fibonacci.cpp) - [Elixir](https://github.com/TheAlgorithms/Elixir/blob/master/lib/dynamic_programming/fibonacci.ex) - [F#](https://github.com/TheAlgorithms/F-Sharp/blob/main/Algorithms/Math/Fibonacci.fs) - [Go](https://github.com/TheAlgorithms/Go/blob/master/dynamic/fibonacci.go) - [Haskell](https://github.com/TheAlgorithms/Haskell/blob/master/src/Maths/Fibonacci.hs) -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/FibonacciNumber.java) - [JavaScript](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Fibonacci.js) - [PHP](https://github.com/TheAlgorithms/PHP/blob/master/Maths/Fibonacci.php) - [Python](https://github.com/TheAlgorithms/Python/blob/master/maths/fibonacci.py) -- [R](https://github.com/TheAlgorithms/R/blob/master/Mathematics/Fibonacci.R) - [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/maths/fibonacci.rb) - [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/dynamic_programming/fibonacci.rs) - [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Mathematics/Fibonacci.scala) diff --git a/en/Basic Math/Geometric Pogression.md b/en/Basic Math/Geometric Pogression.md index 3943a575..73c1f6ca 100644 --- a/en/Basic Math/Geometric Pogression.md +++ b/en/Basic Math/Geometric Pogression.md @@ -51,4 +51,3 @@ nth term of a GP = `a*rn-1`. # YouTube - [Video URL for concept](https://youtu.be/gua96ju_FBk) -- [Video for understanding GP Dynamic Programming in C++](https://youtu.be/92ZldzuGUHs) diff --git a/en/Data Structures/Linked Lists/Singly Linked List.md b/en/Data Structures/Linked Lists/Singly Linked List.md index 27ccc46a..729eba0a 100644 --- a/en/Data Structures/Linked Lists/Singly Linked List.md +++ b/en/Data Structures/Linked Lists/Singly Linked List.md @@ -42,7 +42,6 @@ class LinkedList { - [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/datastructures/lists/SinglyLinkedList.java) - [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/data_structures/linked_list.cpp) - [Python](https://github.com/TheAlgorithms/Python/blob/master/data_structures/linked_list/singly_linked_list.py) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/data_structures/linked_lists/single_list.rb) ## Video Explanation diff --git a/en/Sorting Algorithms/Merge Sort.md b/en/Sorting Algorithms/Merge Sort.md index b2619591..08a3d541 100644 --- a/en/Sorting Algorithms/Merge Sort.md +++ b/en/Sorting Algorithms/Merge Sort.md @@ -62,8 +62,6 @@ At the next stack level [1, 2, 5, 9] and [3, 4, 6, 7] will be merged and we will #### Code Implementation Links - [Assembly](https://github.com/TheAlgorithms/AArch64_Assembly/blob/main/sorters/merge_sort.s) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/merge_sort.c) -- [C#](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/MergeSorter.cs) - [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/merge_sort.cpp) - [Dart](https://github.com/TheAlgorithms/Dart/blob/master/sort/merge_sort.dart) - [Elixir](https://github.com/TheAlgorithms/Elixir/blob/master/lib/sorting/merge_sort.ex) @@ -78,7 +76,6 @@ At the next stack level [1, 2, 5, 9] and [3, 4, 6, 7] will be merged and we will - [Lua](https://github.com/TheAlgorithms/Lua/blob/main/src/sorting/mergesort.lua) - [Matlab](https://github.com/TheAlgorithms/MATLAB-Octave/blob/master/algorithms/sorting/merge_sort.m) - [PHP](https://github.com/TheAlgorithms/PHP/blob/master/Sorting/MergeSort.php) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/merge_sort.py) - [R](https://github.com/TheAlgorithms/R/blob/master/sorting_algorithms/merge_sort.r) - [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/merge_sort.rb) - [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/sorting/merge_sort.rs) diff --git "a/es/Algoritmos de Ordenamiento/Ordenamiento de fusi\303\263n.md" "b/es/Algoritmos de Ordenamiento/Ordenamiento de fusi\303\263n.md" index ef2b24d8..f0122536 100644 --- "a/es/Algoritmos de Ordenamiento/Ordenamiento de fusi\303\263n.md" +++ "b/es/Algoritmos de Ordenamiento/Ordenamiento de fusi\303\263n.md" @@ -35,9 +35,6 @@ Ahora combine ambas mitades para obtener la matriz ordenada [0, 1, 2, 3, 5, 9] - [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/MergeSort.java) - [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/merge_sort.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/merge_sort.py) -- [C-Sharp](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/MergeSorter.cs) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/merge_sort.c) - [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/merge_sort.rb) #### Explicación de vídeo diff --git "a/es/Algoritmos de b\303\272squeda/B\303\272squeda lineal.md" "b/es/Algoritmos de b\303\272squeda/B\303\272squeda lineal.md" index 70808cf6..7d8f827d 100644 --- "a/es/Algoritmos de b\303\272squeda/B\303\272squeda lineal.md" +++ "b/es/Algoritmos de b\303\272squeda/B\303\272squeda lineal.md" @@ -36,7 +36,6 @@ La búsqueda lineal debe devolver -1 ya que 6 no está presente en la matriz #### Enlaces de implementación de código - [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/searches/LinearSearch.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Search/Linear%20Search.cpp) - [Python](https://github.com/TheAlgorithms/Python/blob/master/searches/linear_search.py) - [JavaScript](https://github.com/TheAlgorithms/Javascript/blob/master/Search/LinearSearch.js) - [C-Sharp](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Search/LinearSearcher.cs) diff --git a/es/Estructuras de datos/Listas vinculadas/Lista singular vinculada.md b/es/Estructuras de datos/Listas vinculadas/Lista singular vinculada.md index 4ac01ed3..bbf71447 100644 --- a/es/Estructuras de datos/Listas vinculadas/Lista singular vinculada.md +++ b/es/Estructuras de datos/Listas vinculadas/Lista singular vinculada.md @@ -42,7 +42,6 @@ class LinkedList { - [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/datastructures/lists/SinglyLinkedList.java) - [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Data%20Structure/Linked%20List.cpp) - [Python](https://github.com/TheAlgorithms/Python/blob/master/data_structures/linked_list/singly_linked_list.py) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/data_structures/linked_lists/single_list.rb) ## Explicación de vídeo diff --git a/fr/tri/Tri_fusion.md b/fr/tri/Tri_fusion.md index ccf185ea..359887be 100644 --- a/fr/tri/Tri_fusion.md +++ b/fr/tri/Tri_fusion.md @@ -49,11 +49,8 @@ Au niveau suivant de la pile, [1, 2, 5, 9] et [3, 4, 6, 7] seront fusionnés et ## Implémentation -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/merge_sort.py) - [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/MergeSort.java) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/merge_sort.c) - [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/merge_sort.cpp) -- [C-Sharp](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/MergeSorter.cs) - [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/merge_sort.rb) - [Go](https://github.com/TheAlgorithms/Go/blob/master/sort/mergesort.go) - [JavaScript](https://github.com/TheAlgorithms/JavaScript/blob/master/Sorts/MergeSort.js) \ No newline at end of file diff --git "a/he/\327\236\327\252\327\236\327\230\327\231\327\247\327\224 \327\221\327\241\327\231\327\241\327\231\327\252/\327\236\327\241\327\244\327\250\327\231 \327\244\327\231\327\221\327\225\327\240\327\220\327\246'\327\231.md" "b/he/\327\236\327\252\327\236\327\230\327\231\327\247\327\224 \327\221\327\241\327\231\327\241\327\231\327\252/\327\236\327\241\327\244\327\250\327\231 \327\244\327\231\327\221\327\225\327\240\327\220\327\246'\327\231.md" index 6881e908..d2a3e9a9 100644 --- "a/he/\327\236\327\252\327\236\327\230\327\231\327\247\327\224 \327\221\327\241\327\231\327\241\327\231\327\252/\327\236\327\241\327\244\327\250\327\231 \327\244\327\231\327\221\327\225\327\240\327\220\327\246'\327\231.md" +++ "b/he/\327\236\327\252\327\236\327\230\327\231\327\247\327\224 \327\221\327\241\327\231\327\241\327\231\327\252/\327\236\327\241\327\244\327\250\327\231 \327\244\327\231\327\221\327\225\327\240\327\220\327\246'\327\231.md" @@ -82,7 +82,6 @@ F(8)=21

יישום סדרת פיבונאצ'י בשפות תכנות שונות

- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/math/fibonacci.cpp) -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/FibonacciNumber.java) - [Javascript](https://github.com/TheAlgorithms/Javascript/blob/80c2dc85d714f73783f133964d6acd9b5625ddd9/Maths/Fibonacci.js) - [Python](https://github.com/TheAlgorithms/Python/blob/master/maths/fibonacci.py) diff --git "a/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\353\223\261\353\271\204\354\210\230\354\227\264.md" "b/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\353\223\261\353\271\204\354\210\230\354\227\264.md" index 71c9c6cf..663d61c3 100644 --- "a/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\353\223\261\353\271\204\354\210\230\354\227\264.md" +++ "b/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\353\223\261\353\271\204\354\210\230\354\227\264.md" @@ -46,7 +46,6 @@ ## 영상 URL - [Don't Memorise](https://youtu.be/gua96ju_FBk) -- [Code Bashers (C++)](https://youtu.be/92ZldzuGUHs) ## 출처 diff --git "a/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\353\213\250\354\235\274 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" "b/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\353\213\250\354\235\274 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" index ac53bd43..e2402b33 100644 --- "a/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\353\213\250\354\235\274 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" +++ "b/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\353\213\250\354\235\274 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" @@ -43,7 +43,6 @@ class LinkedList { - [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/datastructures/lists/SinglyLinkedList.java) - [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Data%20Structure/Linked%20List.cpp) - [Python](https://github.com/TheAlgorithms/Python/blob/master/data_structures/linked_list/singly_linked_list.py) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/data_structures/linked_lists/single_list.rb) ## 영상 URL diff --git "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\263\221\355\225\251 \354\240\225\353\240\254.md" "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\263\221\355\225\251 \354\240\225\353\240\254.md" index 93669e29..fd19920c 100644 --- "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\263\221\355\225\251 \354\240\225\353\240\254.md" +++ "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\263\221\355\225\251 \354\240\225\353\240\254.md" @@ -35,9 +35,6 @@ Now merge both these halves to get the sorted array [0, 1, 2, 3, 5, 9] - [Java](https://github.com/TheAlgorithms/Java/blob/master/Sorts/MergeSort.java) - [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/merge_sort.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/merge_sort.py) -- [C#](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/MergeSorter.cs) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/merge_sort.c) - [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/merge_sort.rb) ## 영상 URL diff --git "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\355\236\231 \354\240\225\353\240\254.md" "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\355\236\231 \354\240\225\353\240\254.md" index adf00c33..446f16e4 100644 --- "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\355\236\231 \354\240\225\353\240\254.md" +++ "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\355\236\231 \354\240\225\353\240\254.md" @@ -58,7 +58,6 @@ $O(1)$ 최악의 경우 - [자바](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/HeapSort.java) - [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/heap_sort.cpp) - [파이썬](https://github.com/TheAlgorithms/Python/blob/master/sorts/heap_sort.py) -- [고](https://github.com/TheAlgorithms/Go/blob/master/sorts/heapsort.go) - [루비](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/heap_sort.rb) - [C-Sharp](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/HeapSorter.cs) - [C](https://github.com/TheAlgorithms/C/blob/master/sorting/heap_sort.c) diff --git "a/ko/\355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230/\354\204\240\355\230\225 \355\203\220\354\203\211.md" "b/ko/\355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230/\354\204\240\355\230\225 \355\203\220\354\203\211.md" index 4b0f1ba4..51c160b5 100644 --- "a/ko/\355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230/\354\204\240\355\230\225 \355\203\220\354\203\211.md" +++ "b/ko/\355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230/\354\204\240\355\230\225 \355\203\220\354\203\211.md" @@ -47,7 +47,6 @@ target = 6 ## 구현 - [Java](https://github.com/TheAlgorithms/Java/blob/master/Searches/LinearSearch.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Search/Linear%20Search.cpp) - [Python](https://github.com/TheAlgorithms/Python/blob/master/searches/linear_search.py) ## 영상 URL diff --git a/pt-br/Algoritmos de Busca/Busca Linear.md b/pt-br/Algoritmos de Busca/Busca Linear.md index f88b10ca..a918982d 100644 --- a/pt-br/Algoritmos de Busca/Busca Linear.md +++ b/pt-br/Algoritmos de Busca/Busca Linear.md @@ -36,7 +36,6 @@ alvo = 6 #### Links de implementação de código - [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/searches/LinearSearch.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Search/Linear%20Search.cpp) - [Python](https://github.com/TheAlgorithms/Python/blob/master/searches/linear_search.py) #### Explicação em vídeo diff --git "a/pt-br/Algoritmos de Ordena\303\247\303\243o/Merge Sort.md" "b/pt-br/Algoritmos de Ordena\303\247\303\243o/Merge Sort.md" index 8f989b47..bdd774f0 100644 --- "a/pt-br/Algoritmos de Ordena\303\247\303\243o/Merge Sort.md" +++ "b/pt-br/Algoritmos de Ordena\303\247\303\243o/Merge Sort.md" @@ -35,9 +35,6 @@ Agora mescle as duas metades para obter a matriz classificada [0, 1, 2, 3, 5, 9] - [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/MergeSort.java) - [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/merge_sort.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/merge_sort.py) -- [C-Sharp](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/MergeSorter.cs) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/merge_sort.c) - [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/merge_sort.rb) #### Explicação em vídeo diff --git a/pt-br/Estruturas de Dados/Linked Lists/Lista individual.md b/pt-br/Estruturas de Dados/Linked Lists/Lista individual.md index 4066be8a..ec7d3f74 100644 --- a/pt-br/Estruturas de Dados/Linked Lists/Lista individual.md +++ b/pt-br/Estruturas de Dados/Linked Lists/Lista individual.md @@ -42,7 +42,6 @@ class LinkedList { - [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/datastructures/lists/SinglyLinkedList.java) - [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Data%20Structure/Linked%20List.cpp) - [Python](https://github.com/TheAlgorithms/Python/blob/master/data_structures/linked_list/singly_linked_list.py) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/data_structures/linked_lists/single_list.rb) ## Explicação em vídeo From 4aef4f1c7eab0678ab6ddb92f7aa5cc43cd2ab14 Mon Sep 17 00:00:00 2001 From: vil02 Date: Thu, 4 Apr 2024 19:38:30 +0200 Subject: [PATCH 12/20] docs: remove implementation sections --- en/Basic Math/Average_Mean.md | 5 ---- en/Basic Math/Fibonacci_Numbers.md | 15 ---------- en/Basic Math/Find the maximum number.md | 4 --- en/Ciphers/caesar_cipher.md | 8 ----- en/Ciphers/hill_cipher.md | 4 --- en/Ciphers/playfair-cipher.md | 4 --- en/Ciphers/rsa_cipher.md | 7 ----- en/Ciphers/vigenere_cipher.md | 10 ------- en/Data Structures/Graph/Bellman-Ford.md | 7 ----- .../Linked Lists/Circular Linked List.md | 6 ---- .../Linked Lists/Doubly Linked List.md | 8 ----- .../Linked Lists/Singly Linked List.md | 6 ---- .../Probablistic/BloomFilter.md | 6 ---- en/Dynamic Programming/Coin Change.md | 13 --------- en/Dynamic Programming/Kadane's Algorithm.md | 6 ---- .../Longest Common Subsequence.md | 6 ---- en/Greedy Algorithms/Fractional Knapsack.md | 6 ---- en/Image Processing/Harris Detector.md | 4 --- en/Search Algorithms/Binary Search.md | 8 ----- en/Search Algorithms/Exponential Search.md | 6 ---- ...tion Algorithm to Find Duplicate Number.md | 4 --- en/Search Algorithms/Linear Search.md | 7 ----- .../Find Second Largest Element.md | 4 --- en/Selection Algorithms/Quick Select.md | 7 ----- en/Sorting Algorithms/Bubble Sort.md | 28 ------------------ en/Sorting Algorithms/Counting Sort.md | 16 ---------- en/Sorting Algorithms/Heap Sort.md | 22 -------------- en/Sorting Algorithms/Insertion Sort.md | 28 ------------------ en/Sorting Algorithms/Merge Sort.md | 25 ---------------- en/Sorting Algorithms/Quick Sort.md | 29 ------------------- en/Sorting Algorithms/Radix Sort.md | 18 ------------ .../Recursive Bubble Sort.md | 5 ---- en/Sorting Algorithms/Selection Sort.md | 29 ------------------- en/Sorting Algorithms/Shell Sort.md | 17 ----------- .../Ordenamiento Burbuja.md | 12 -------- .../Ordenamiento Shell.md | 11 ------- .../Ordenamiento de fusi\303\263n.md" | 6 ---- .../Ordenamiento de inserci\303\263n.md" | 10 ------- ...enamiento de mont\303\263n (heap sort).md" | 11 ------- .../Ordenamiento de selecci\303\263n.md" | 11 ------- .../Ordenamiento r\303\241pido.md" | 7 ----- .../B\303\272squeda binaria.md" | 18 ------------ .../B\303\272squeda exponencial.md" | 5 ---- .../B\303\272squeda lineal.md" | 17 ----------- .../Selecci\303\263n R\303\241pida.md" | 5 ---- es/Cifrado/Cifrado Cesar.md | 6 ---- .../Gr\303\241fico/Bellman Ford.md" | 7 ----- .../Doble lista vinculada.md | 8 ----- .../Lista singular vinculada.md | 5 ---- .../Numeros_Fibonacci.md" | 7 ----- "es/Matematicas B\303\241sico/Promedio.md" | 4 --- .../Detector de Harris.md | 4 --- .../Cambio de monedas.md" | 9 ------ ...ecuencia com\303\272n m\303\241s larga.md" | 9 ------ fr/filtres_audio/filtre_butterworth.md | 4 --- fr/math/Determinant.md | 4 --- fr/math/Suite_de_Fibonacci.md | 4 --- .../Suite_de_Fibonacci_r\303\251cursive.md" | 4 --- fr/tri/Tri_fusion.md | 8 ----- fr/tri/Tri_par_insertion.md | 4 --- fr/tri/Tri_par_selection.md | 13 --------- "fr/tri/Tri_\303\240_bulles.md" | 12 -------- ...7\225\327\240\327\220\327\246'\327\231.md" | 6 ---- ...0\353\202\255 \353\254\270\354\240\234.md" | 6 ---- .../\354\265\234\353\214\223\352\260\222.md" | 4 --- .../\355\217\211\352\267\240\352\260\222.md" | 5 ---- ...4\353\202\230\354\271\230 \354\210\230.md" | 7 ----- ...5 \354\205\200\353\240\211\355\212\270.md" | 7 ----- ...14\352\263\240\353\246\254\354\246\230.md" | 7 ----- ...0 \353\246\254\354\212\244\355\212\270.md" | 6 ---- ...0 \353\246\254\354\212\244\355\212\270.md" | 6 ---- ...0 \353\246\254\354\212\244\355\212\270.md" | 8 ----- ...4\354\210\230 \354\240\225\353\240\254.md" | 9 ------ ...\352\267\200 \353\262\204\354\240\204).md" | 5 ---- ...4\353\270\224 \354\240\225\353\240\254.md" | 12 -------- ...1\355\225\251 \354\240\225\353\240\254.md" | 6 ---- ...5\354\236\205 \354\240\225\353\240\254.md" | 10 ------- ...0\355\203\235 \354\240\225\353\240\254.md" | 11 ------- .../\354\205\270 \354\240\225\353\240\254.md" | 11 ------- .../\355\200\265 \354\240\225\353\240\254.md" | 7 ----- .../\355\236\231 \354\240\225\353\240\254.md" | 10 ------- ...0\355\230\225 \355\203\220\354\203\211.md" | 5 ---- ...4\354\247\204 \355\203\220\354\203\211.md" | 8 ----- ...0\354\210\230 \355\203\220\354\203\211.md" | 5 ---- ...14\352\263\240\353\246\254\354\246\230.md" | 5 ---- pt-br/Algoritmos de Busca/Busca Binaria.md | 8 ----- pt-br/Algoritmos de Busca/Busca Linear.md | 5 ---- .../Bubble Sort.md" | 12 -------- .../Heap Sort.md" | 11 ------- .../Insertion Sort.md" | 10 ------- .../Merge Sort.md" | 6 ---- .../Quick Sort.md" | 7 ----- .../Selection Sort.md" | 11 ------- .../Shell Sort.md" | 11 ------- .../Estruturas de Dados/Graph/Bellman-Ford.md | 7 ----- .../Lista Duplamente Vinculada.md | 8 ----- .../Linked Lists/Lista individual.md | 6 ---- .../M\303\251dia.md" | 4 --- ...axima - Maior Subsequencia Comum (LCS).md" | 6 ---- .../Trocando moedas.md" | 4 --- ...20\237\320\276\320\270\321\201\320\272.md" | 8 ----- ...20\260\320\275\320\264\320\276\320\262.md" | 5 ---- .../Fibonachi sonlari.md | 7 ----- 103 files changed, 905 deletions(-) diff --git a/en/Basic Math/Average_Mean.md b/en/Basic Math/Average_Mean.md index be5f191b..f31972d5 100644 --- a/en/Basic Math/Average_Mean.md +++ b/en/Basic Math/Average_Mean.md @@ -57,11 +57,6 @@ If we properly consider significant digits: `sum / count = 23` Return the value of 22.857142 or `23`. -## Implementation - -- [Python](https://github.com/TheAlgorithms/Python/blob/master/maths/average_mean.py) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/maths/average_mean.rb) - ## Video URL - [Mean on Khan Academy](https://www.khanacademy.org/math/ap-statistics/summarizing-quantitative-data-ap/measuring-center-quantitative/v/mean-median-and-mode) diff --git a/en/Basic Math/Fibonacci_Numbers.md b/en/Basic Math/Fibonacci_Numbers.md index bb61a3e0..eb8fac3f 100644 --- a/en/Basic Math/Fibonacci_Numbers.md +++ b/en/Basic Math/Fibonacci_Numbers.md @@ -55,21 +55,6 @@ Calculate matrix^8 ### Step 5 F(8)=21 -## Implementation - -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/math/fibonacci.cpp) -- [Elixir](https://github.com/TheAlgorithms/Elixir/blob/master/lib/dynamic_programming/fibonacci.ex) -- [F#](https://github.com/TheAlgorithms/F-Sharp/blob/main/Algorithms/Math/Fibonacci.fs) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/dynamic/fibonacci.go) -- [Haskell](https://github.com/TheAlgorithms/Haskell/blob/master/src/Maths/Fibonacci.hs) -- [JavaScript](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Fibonacci.js) -- [PHP](https://github.com/TheAlgorithms/PHP/blob/master/Maths/Fibonacci.php) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/maths/fibonacci.py) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/maths/fibonacci.rb) -- [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/dynamic_programming/fibonacci.rs) -- [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Mathematics/Fibonacci.scala) -- [Swift](https://github.com/TheAlgorithms/Swift/blob/master/recursion/fibonacci.swift) - ## Video URL - [Youtube](https://www.youtube.com/watch?v=EEb6JP3NXBI) diff --git a/en/Basic Math/Find the maximum number.md b/en/Basic Math/Find the maximum number.md index 1e7cf5f0..6579ad98 100644 --- a/en/Basic Math/Find the maximum number.md +++ b/en/Basic Math/Find the maximum number.md @@ -98,10 +98,6 @@ Get the last value out of the list by using predefined last method. Return the value 70. -## Implementation - -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/maths/find_max.rb) - # Source - [GeeksForGeeks](https://www.geeksforgeeks.org/c-program-find-largest-element-array/) diff --git a/en/Ciphers/caesar_cipher.md b/en/Ciphers/caesar_cipher.md index 9b1ba40f..592b0374 100644 --- a/en/Ciphers/caesar_cipher.md +++ b/en/Ciphers/caesar_cipher.md @@ -35,11 +35,3 @@ Let us say we are sending a secret message to a friend. * The second letter is `h`. The letter 6 letters away is `n`. Our message is now `Zn` * We continue like that until the end. Our final message is: `Znk Igkygx iovnkx oy g lat yahyzozazout iovnkx.` * Decryption is the same way, except instead of going to the right in the alphabet, we go backwards. - -## Implementation - -* [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/ciphers/caesar_cipher.cpp) -* [JavaScript](https://github.com/TheAlgorithms/JavaScript/blob/master/Ciphers/CaesarCipher.js) -* [PHP](https://github.com/TheAlgorithms/PHP/blob/master/Ciphers/CaesarCipher.php) -* [Python](https://github.com/TheAlgorithms/Python/blob/master/ciphers/caesar_cipher.py) - diff --git a/en/Ciphers/hill_cipher.md b/en/Ciphers/hill_cipher.md index 5c473e47..775e0ecb 100644 --- a/en/Ciphers/hill_cipher.md +++ b/en/Ciphers/hill_cipher.md @@ -54,10 +54,6 @@ So we will get the encrypted text as **POH**. [21 12 8] [7] [539] [19] ``` -## Implementations - -[**Python**](https://github.com/TheAlgorithms/Python/blob/master/ciphers/hill_cipher.py) - ## Video Explanation [Video explanation of the Hill Cipher](https://www.youtube.com/watch?v=6T46sgty4Mk) diff --git a/en/Ciphers/playfair-cipher.md b/en/Ciphers/playfair-cipher.md index 7e1c3bc1..158a4a92 100644 --- a/en/Ciphers/playfair-cipher.md +++ b/en/Ciphers/playfair-cipher.md @@ -117,10 +117,6 @@ So we will get the encrypted text as **gatlmzclrqxa**. ``` So we will get the encrypted text as **instrumentsx**. -## Implementations - -- [**Python**](https://github.com/TheAlgorithms/Python/blob/master/ciphers/playfair_cipher.py) - ## Video Explanation - [**Video explanation of the Playfair Cipher algorithm**](https://www.youtube.com/watch?v=UURjVI5cw4g) diff --git a/en/Ciphers/rsa_cipher.md b/en/Ciphers/rsa_cipher.md index 97649cec..3cae166d 100644 --- a/en/Ciphers/rsa_cipher.md +++ b/en/Ciphers/rsa_cipher.md @@ -153,10 +153,3 @@ Enter your Private Key: 23 PlainText: 51 ``` - -## Implementations - -- [Python](https://github.com/TheAlgorithms/Python/blob/master/ciphers/rsa_cipher.py) -- [GoLang](https://github.com/TheAlgorithms/Go/blob/master/cipher/rsa/rsa.go) -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/ciphers/RSA.java) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/ciphers/rsa.rb) \ No newline at end of file diff --git a/en/Ciphers/vigenere_cipher.md b/en/Ciphers/vigenere_cipher.md index 88768aaa..94bf5749 100644 --- a/en/Ciphers/vigenere_cipher.md +++ b/en/Ciphers/vigenere_cipher.md @@ -61,13 +61,3 @@ Decryption is similar to encryption (except for the subtraction operation). - [Index of coincidence](https://en.wikipedia.org/wiki/Index_of_coincidence) 3. Once the key length is found, [frequency analysis](https://en.wikipedia.org/wiki/Frequency_analysis) can be used to find the key and hence crack the cipher. 4. Therefore, this cipher should not be used to encrypt any important data. - -## Implementations - -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/ciphers/vigenere_cipher.cpp) -- [C#](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Encoders/VigenereEncoder.cs) -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/ciphers/Vigenere.java) -- [JavaScript](https://github.com/TheAlgorithms/JavaScript/blob/master/Ciphers/VigenereCipher.js) -- [Julia](https://github.com/TheAlgorithms/Julia/blob/main/src/cipher/vigenere.jl) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/ciphers/vigenere_cipher.py) -- [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/ciphers/vigenere.rs) diff --git a/en/Data Structures/Graph/Bellman-Ford.md b/en/Data Structures/Graph/Bellman-Ford.md index ee30886e..49b1e59c 100644 --- a/en/Data Structures/Graph/Bellman-Ford.md +++ b/en/Data Structures/Graph/Bellman-Ford.md @@ -88,13 +88,6 @@ O(V^2) E 1 A->B->E = -1 + 2 ``` -#### Code Implementation Links - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/datastructures/graphs/BellmanFord.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/dynamic_programming/bellman_ford.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/graphs/bellman_ford.py) -- [C](https://github.com/TheAlgorithms/C/blob/master/data_structures/graphs/bellman_ford.c) - #### Video Explanation [A video explaining the Bellman-Ford Algorithm](https://www.youtube.com/watch?v=hxMWBBCpR6A) diff --git a/en/Data Structures/Linked Lists/Circular Linked List.md b/en/Data Structures/Linked Lists/Circular Linked List.md index 4c031bd7..bf5d5081 100644 --- a/en/Data Structures/Linked Lists/Circular Linked List.md +++ b/en/Data Structures/Linked Lists/Circular Linked List.md @@ -64,12 +64,6 @@ public void insertHead(int data) } ``` -## Code Implementation Links - -- [JavaScript](https://github.com/TheAlgorithms/JavaScript/blob/master/Data-Structures/Linked-List/SinglyCircularLinkedList.js) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/data_structures/cll/cll.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/data_structures/linked_list/circular_linked_list.py) - ## Video Explanation [Video explanation on YouTube](https://youtu.be/HMkdlu5sP4A) diff --git a/en/Data Structures/Linked Lists/Doubly Linked List.md b/en/Data Structures/Linked Lists/Doubly Linked List.md index e4cbb791..65fb7692 100644 --- a/en/Data Structures/Linked Lists/Doubly Linked List.md +++ b/en/Data Structures/Linked Lists/Doubly Linked List.md @@ -100,14 +100,6 @@ class LinkedList { ![Tracing of algorithm](https://www.geeksforgeeks.org/wp-content/uploads/gq/2014/03/DLL_add_middle1.png) -## Code Implementation Links - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/datastructures/lists/DoublyLinkedList.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/data_structures/doubly_linked_list.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/data_structures/linked_list/doubly_linked_list.py) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/data-structures/linked-list/double-linkedlist.go) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/data_structures/linked_lists/double_list.rb) - ## Video Explanation [A CS50 video explaining the Doubly Linked List Data Structure](https://www.youtube.com/watch?v=FHMPswJDCvU) diff --git a/en/Data Structures/Linked Lists/Singly Linked List.md b/en/Data Structures/Linked Lists/Singly Linked List.md index 729eba0a..4b7e5823 100644 --- a/en/Data Structures/Linked Lists/Singly Linked List.md +++ b/en/Data Structures/Linked Lists/Singly Linked List.md @@ -37,12 +37,6 @@ class LinkedList { } ``` -## Code Implementation Links - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/datastructures/lists/SinglyLinkedList.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/data_structures/linked_list.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/data_structures/linked_list/singly_linked_list.py) - ## Video Explanation [A CS50 video explaining the Linked List Data Structure](https://www.youtube.com/watch?v=5nsKtQuT6E8) diff --git a/en/Data Structures/Probablistic/BloomFilter.md b/en/Data Structures/Probablistic/BloomFilter.md index b1752d9b..3fc5a19a 100644 --- a/en/Data Structures/Probablistic/BloomFilter.md +++ b/en/Data Structures/Probablistic/BloomFilter.md @@ -117,12 +117,6 @@ Notice that this does not match either the result of `foo` or `bar`, however bec The probability of false positives increases with the probability of hash collisions within the filter. However, you can optimize the number of collisions if you have some sense of the cardinality of your set ahead of time. You can do this by optimizing `k` and `M`, `M` should be ~ 8-10 bits per expected item, and `k` should be `(M/n) * ln2`. -## Examples - -Implementations of the Bloom Filter are available for: - -* [C#](https://github.com/TheAlgorithms/C-Sharp/blob/master/DataStructures/Probabilistic/BloomFilter.cs) - ## Video Explainer [Video Explainer by Narendra L](https://www.youtube.com/watch?v=Bay3X9PAX5k) \ No newline at end of file diff --git a/en/Dynamic Programming/Coin Change.md b/en/Dynamic Programming/Coin Change.md index 1ea91c86..187f0dc0 100644 --- a/en/Dynamic Programming/Coin Change.md +++ b/en/Dynamic Programming/Coin Change.md @@ -48,18 +48,5 @@ Let's say we have 3 coin types `[1,2,3]` and we want to change for `7` cents. So ``` So the final answer is **8**. 8 ways to make change of 7 cents using all coin types. `{{1,1,1,1,1,1,1}, {1,1,1,1,1,2}, {1,1,1,2,2}, {1,2,2,2}, {1,1,1,1,3}, {1,3,3}, {2,2,3}, {1,1,2,3}}` -#### Code Implementation Link -- [JavaScript](https://github.com/TheAlgorithms/JavaScript/blob/master/Dynamic-Programming/CoinChange.js) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/dynamic_programming/coin_change.cpp) -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/greedyalgorithms/CoinChange.java) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/dynamic/coinchange.go) -- [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/dynamic_programming/coin_change.rs) -- [Dart](https://github.com/TheAlgorithms/Dart/blob/master/dynamic_programming/coin_change.dart) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/dynamic_programming/coin_change.rb) -- [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/DynamicProgramming/CoinChange.scala) -- [Julia](https://github.com/TheAlgorithms/Julia/blob/main/src/dynamic_programming/coin_change.jl) -- [Lua](https://github.com/TheAlgorithms/Lua/blob/main/src/misc/coin_change.lua) -- [C#](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Problems/DynamicProgramming/CoinChange/DynamicCoinChangeSolver.cs) - #### Video Explanation [Total Unique Ways To Make Change by Back To Back SWE](https://www.youtube.com/watch?v=DJ4a7cmjZY0) diff --git a/en/Dynamic Programming/Kadane's Algorithm.md b/en/Dynamic Programming/Kadane's Algorithm.md index 1b82136d..6d6c89f0 100644 --- a/en/Dynamic Programming/Kadane's Algorithm.md +++ b/en/Dynamic Programming/Kadane's Algorithm.md @@ -106,12 +106,6 @@ largest_sum = max(5, 6) = 6 ```Hence the output will be 6``` - - -### Code Implementation Links - -- [Python](https://github.com/TheAlgorithms/Python/blob/252df0a149502143a14e7283424d40b785dd451c/maths/kadanes.py) - ### Video Explanation Link - [Kadane's Algorithm to Maximum Sum Subarray Problem](https://www.youtube.com/watch?v=86CQq3pKSUw) diff --git a/en/Dynamic Programming/Longest Common Subsequence.md b/en/Dynamic Programming/Longest Common Subsequence.md index 2dc8f1ed..d613f807 100644 --- a/en/Dynamic Programming/Longest Common Subsequence.md +++ b/en/Dynamic Programming/Longest Common Subsequence.md @@ -69,12 +69,6 @@ B 0 0 1 2 3 ``` So the length of LCS is `dp[4][4] = 3`. -#### Code Implementation Links - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/dynamicprogramming/LongestCommonSubsequence.java) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/dynamic_programming/longest_common_subsequence.py) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Dynamic%20Programming/Longest%20Common%20Subsequence.cpp) - #### Video Explanation [Video explanation by Tushar Roy](https://youtu.be/NnD96abizww) diff --git a/en/Greedy Algorithms/Fractional Knapsack.md b/en/Greedy Algorithms/Fractional Knapsack.md index cc9eb8c8..fb49dab1 100644 --- a/en/Greedy Algorithms/Fractional Knapsack.md +++ b/en/Greedy Algorithms/Fractional Knapsack.md @@ -35,12 +35,6 @@ We won't be able to make more money by combining diverse things. ``` -#### Code Implementation Links - -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/greedy_algorithms/knapsack.cpp) -- [Python](https://github.com/TheAlgorithms/Python/tree/master/knapsack) -- [C-Sharp](https://github.com/TheAlgorithms/C-Sharp/tree/master/Algorithms/Knapsack) - #### Video Explanation [A CS50 video explaining the Greedy Algorithm](https://www.youtube.com/watch?v=Ou9OA0yQCYA) diff --git a/en/Image Processing/Harris Detector.md b/en/Image Processing/Harris Detector.md index a0b7388e..16b5f3ed 100644 --- a/en/Image Processing/Harris Detector.md +++ b/en/Image Processing/Harris Detector.md @@ -13,10 +13,6 @@ Given image $I$, $n\times n$ size Gaussian Kernel $G_{n\times n}$, 3. Compute the response function $R$, where $R=AB-C^2-k(A+B)$ 4. Classify all points in $R​$. -## Code Implementation Links - -- [Python](https://github.com/TheAlgorithms/Python/blob/master/computer_vision/harriscorner.py) - ## Reference C. Harris and M. Stephens, “A Combined Corner and Edge Detector,” in *Proceedings of the Alvey Vision Conference 1988*, Manchester, 1988, pp. 23.1-23.6. diff --git a/en/Search Algorithms/Binary Search.md b/en/Search Algorithms/Binary Search.md index 3f18817e..ff704de5 100644 --- a/en/Search Algorithms/Binary Search.md +++ b/en/Search Algorithms/Binary Search.md @@ -38,14 +38,6 @@ target = 9 A simple Binary Search implementation may return -1 as 9 is not present in the array. A more complex one would return the index at which 9 would have to be inserted, which would be `-8` (last position in the array (7) plus one (7+1), negated)`. ``` -#### Code Implementation Links - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/searches/BinarySearch.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/search/binary_search.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/searches/binary_search.py) -- [C-Sharp](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Search/BinarySearcher.cs) -- [C](https://github.com/TheAlgorithms/C/blob/master/searching/binary_search.c) - #### Video Explanation [A CS50 video explaining the Binary Search Algorithm](https://www.youtube.com/watch?v=5xlIPT1FRcA) diff --git a/en/Search Algorithms/Exponential Search.md b/en/Search Algorithms/Exponential Search.md index 8c363cc2..bca641ab 100644 --- a/en/Search Algorithms/Exponential Search.md +++ b/en/Search Algorithms/Exponential Search.md @@ -53,9 +53,3 @@ Let's take a look at this comparison with a less theoretical example. Imagine we - The Binary Search start from the middle of the array and arrive to the 4th position after many iterations - The Exponential Search arrive at the 4th index after only 2 iterations - -#### Code Implementation Links - -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/search/exponential_search.cpp) -- [C](https://github.com/TheAlgorithms/C/blob/master/searching/exponential_search.c) -- [JavaScript](https://github.com/TheAlgorithms/Javascript/blob/master/Search/ExponentialSearch.js) diff --git a/en/Search Algorithms/Floyd Cycle Detection Algorithm to Find Duplicate Number.md b/en/Search Algorithms/Floyd Cycle Detection Algorithm to Find Duplicate Number.md index b23d0a56..a431d58d 100644 --- a/en/Search Algorithms/Floyd Cycle Detection Algorithm to Find Duplicate Number.md +++ b/en/Search Algorithms/Floyd Cycle Detection Algorithm to Find Duplicate Number.md @@ -67,10 +67,6 @@ tortoise = arr[0] = 3 return tortoise = 4 ``` -## Code Implementation Links - -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/search/floyd_cycle_detection_algo.cpp) -- [C](https://github.com/TheAlgorithms/C/blob/master/searching/floyd_cycle_detection_algorithm.c) #### Video Explanation - [YouTube video explaining the Floyd Cycle Detection algorithm](https://www.youtube.com/watch?v=B6smdk7pZ14) diff --git a/en/Search Algorithms/Linear Search.md b/en/Search Algorithms/Linear Search.md index eb6f90bf..4da70e54 100644 --- a/en/Search Algorithms/Linear Search.md +++ b/en/Search Algorithms/Linear Search.md @@ -33,13 +33,6 @@ target = 6 Linear Search should return -1 as 6 is not present in the array ``` -#### Code Implementation Links - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/searches/LinearSearch.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/search/linear_search.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/searches/linear_search.py) -- [C](https://github.com/TheAlgorithms/C/blob/master/searching/linear_search.c) - #### Video Explanation [A CS50 video explaining the Linear Search Algorithm](https://www.youtube.com/watch?v=CX2CYIJLwfg) diff --git a/en/Selection Algorithms/Find Second Largest Element.md b/en/Selection Algorithms/Find Second Largest Element.md index 32e21904..14971faa 100644 --- a/en/Selection Algorithms/Find Second Largest Element.md +++ b/en/Selection Algorithms/Find Second Largest Element.md @@ -65,10 +65,6 @@ True : b = arr[6] (b = 25) Now we get the value 25 in the variable "b", which is the second highest value in the array. ``` -#### Code Implementation Links - -[JavaScript](https://github.com/TheAlgorithms/JavaScript/blob/master/Sorts/FindSecondLargestElement.js) - #### Video Explanation [Video explaining 2 approaches](https://www.youtube.com/watch?v=Mv8jhYQEbkA) diff --git a/en/Selection Algorithms/Quick Select.md b/en/Selection Algorithms/Quick Select.md index 706dcb97..cc915e4e 100644 --- a/en/Selection Algorithms/Quick Select.md +++ b/en/Selection Algorithms/Quick Select.md @@ -41,13 +41,6 @@ Let's say k = 4. ie. We have to find 4th smallest element. 4. As position of '7' is 4th (ie. k). Thus we will simply return 7 ``` -### Code Implementation Links - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/searches/QuickSelect.java) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/searches/quick_select.py) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/search/selectk.go) -- [JavaScript](https://github.com/TheAlgorithms/JavaScript/blob/master/Data-Structures/Array/QuickSelect.js) - ### Helpful Video Links [Video explaining how to find the Kth smallest/largest element in varying complexities](https://youtu.be/hGK_5n81drs) diff --git a/en/Sorting Algorithms/Bubble Sort.md b/en/Sorting Algorithms/Bubble Sort.md index 665f2bf9..3ce99615 100644 --- a/en/Sorting Algorithms/Bubble Sort.md +++ b/en/Sorting Algorithms/Bubble Sort.md @@ -79,34 +79,6 @@ Indexes: 0 1 2 3 Since there are no swaps in above steps, it means the array is sorted and we can stop here. ``` -#### Code Implementation Links - -- [Assembly](https://github.com/TheAlgorithms/AArch64_Assembly/blob/main/sorters/bubble_sort.s) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/bubble_sort.c) -- [C#](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/BubbleSorter.cs) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/bubble_sort.cpp) -- [Dart](https://github.com/TheAlgorithms/Dart/blob/master/sort/bubble_Sort.dart) -- [Elixir](https://github.com/TheAlgorithms/Elixir/blob/master/lib/sorting/bubble_sort.ex) -- [Elm](https://github.com/TheAlgorithms/Elm/blob/master/src/Sorting/BubbleSort.elm) -- [F#](https://github.com/TheAlgorithms/F-Sharp/blob/main/Algorithms/Sort/Bubble_Sort.fs) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/sort/bubblesort.go) -- [Haskell](https://github.com/TheAlgorithms/Haskell/blob/master/src/Sorts/BubbleSort.hs) -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/BubbleSort.java) -- [Javascript](https://github.com/TheAlgorithms/JavaScript/blob/master/Sorts/BubbleSort.js) -- [Julia](https://github.com/TheAlgorithms/Julia/blob/main/src/sorts/bubble_sort.jl) -- [Kotlin](https://github.com/TheAlgorithms/Kotlin/blob/master/src/main/kotlin/sort/BubbleSort.kt) -- [Lua](https://github.com/TheAlgorithms/Lua/blob/main/src/sorting/bubblesort.lua) -- [Matlab](https://github.com/TheAlgorithms/MATLAB-Octave/blob/master/algorithms/sorting/bubble_sort.m) -- [PHP](https://github.com/TheAlgorithms/PHP/blob/master/Sorting/BubbleSort.php) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/bubble_sort.py) -- [R](https://github.com/TheAlgorithms/R/blob/master/sorting_algorithms/bubble_sort.r) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/bubble_sort.rb) -- [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/sorting/bubble_sort.rs) -- [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Sort/BubbleSort.scala) -- [Solidity](https://github.com/TheAlgorithms/Solidity/blob/main/src/Sorts/BubbleSort.sol) -- [Swift](https://github.com/TheAlgorithms/Swift/blob/master/sorts/BubbleSort.swift) -- [TypeScript](https://github.com/TheAlgorithms/TypeScript/blob/master/sorts/bubble_sort.ts) - #### Video Explanation [A video explaining the Bubble Sort Algorithm](https://www.youtube.com/watch?v=Jdtq5uKz-w4) diff --git a/en/Sorting Algorithms/Counting Sort.md b/en/Sorting Algorithms/Counting Sort.md index 1fdc7781..984d28bc 100644 --- a/en/Sorting Algorithms/Counting Sort.md +++ b/en/Sorting Algorithms/Counting Sort.md @@ -41,22 +41,6 @@ countingSort(array, size) decrease count of each element restored by 1 ``` -#### Code Implementation Links - -- [Assembly](https://github.com/TheAlgorithms/AArch64_Assembly/blob/main/sorters/counting_sort.s) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/counting_sort.c) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/counting_sort.cpp) -- [Dart](https://github.com/TheAlgorithms/Dart/blob/master/sort/count_sort.dart) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/sort/countingsort.go) -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/CountingSort.java) -- [JavaScript](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/CountingSort.js) -- [Julia](https://github.com/TheAlgorithms/Julia/blob/main/src/sorts/counting_sort.jl) -- [Matlab](https://github.com/TheAlgorithms/MATLAB-Octave/blob/master/algorithms/sorting/counting_sort.m) -- [PHP](https://github.com/TheAlgorithms/PHP/blob/master/Sorting/CountSort.php) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/counting_sort.py) -- [R](https://github.com/TheAlgorithms/R/blob/master/sorting_algorithms/counting_sort.r) -- [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/sorting/counting_sort.rs) - #### Video Explanation [A video explaining the Counting Sort Algorithm](https://www.youtube.com/watch?v=7zuGmKfUt7s) diff --git a/en/Sorting Algorithms/Heap Sort.md b/en/Sorting Algorithms/Heap Sort.md index 55a73d3b..7b545351 100644 --- a/en/Sorting Algorithms/Heap Sort.md +++ b/en/Sorting Algorithms/Heap Sort.md @@ -55,28 +55,6 @@ in top down manner. ![heap-image](https://upload.wikimedia.org/wikipedia/commons/1/1b/Sorting_heapsort_anim.gif "Heap Sort") -#### Code Implementation Links - -- [Assembly](https://github.com/TheAlgorithms/AArch64_Assembly/blob/main/sorters/heap_sort.s) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/heap_sort.c) -- [C#](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/HeapSorter.cs) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/heap_sort.cpp) -- [Dart](https://github.com/TheAlgorithms/Dart/blob/master/sort/heap_Sort.dart) -- [F#](https://github.com/TheAlgorithms/F-Sharp/blob/main/Algorithms/Sort/Heap_Sort.fs) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/sort/heapsort.go) -- [Haskell](https://github.com/TheAlgorithms/Haskell/blob/master/src/Sorts/InsertionSort.hs) -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/HeapSort.java) -- [Javascript](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/HeapSort.js) -- [Julia](https://github.com/TheAlgorithms/Julia/blob/main/src/sorts/heap_sort.jl) -- [Kotlin](https://github.com/TheAlgorithms/Kotlin/blob/master/src/main/kotlin/sort/HeapSort.kt) -- [Lua](https://github.com/TheAlgorithms/Lua/blob/main/src/sorting/heapsort.lua) -- [Matlab](https://github.com/TheAlgorithms/MATLAB-Octave/blob/master/algorithms/sorting/heap_sort.m) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/heap_sort.py) -- [R](https://github.com/TheAlgorithms/R/blob/master/sorting_algorithms/heap_sort.r) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/heap_sort.rb) -- [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/sorting/heap_sort.rs) -- [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Sort/HeapSort.scala) - #### Video Explanation [A video explaining the Heap Sort Algorithm](https://www.youtube.com/watch?v=MtQL_ll5KhQ) diff --git a/en/Sorting Algorithms/Insertion Sort.md b/en/Sorting Algorithms/Insertion Sort.md index 6356815c..d1253151 100644 --- a/en/Sorting Algorithms/Insertion Sort.md +++ b/en/Sorting Algorithms/Insertion Sort.md @@ -48,34 +48,6 @@ and elements from 11 to 13 will move one position ahead of their current positio 5, 6, 11, 12, 13 -- sorted array ``` -#### Code Implementation Links - -- [Assembly](https://github.com/TheAlgorithms/AArch64_Assembly/blob/main/sorters/insertion_sort.s) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/insertion_sort.c) -- [C#](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/InsertionSorter.cs) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/insertion_sort.cpp) -- [Dart](https://github.com/TheAlgorithms/Dart/blob/master/sort/insert_Sort.dart) -- [Elixir](https://github.com/TheAlgorithms/Elixir/blob/master/lib/sorting/insertion_sort.ex) -- [Elm](https://github.com/TheAlgorithms/Elm/blob/master/src/Sorting/InsertionSort.elm) -- [F#](https://github.com/TheAlgorithms/F-Sharp/blob/main/Algorithms/Sort/Insertion_Sort.fs) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/sort/insertionsort.go) -- [Haskell](https://github.com/TheAlgorithms/Haskell/blob/master/src/Sorts/InsertionSort.hs) -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/InsertionSort.java) -- [JavaScript](https://github.com/TheAlgorithms/JavaScript/blob/master/Sorts/InsertionSort.js) -- [Julia](https://github.com/TheAlgorithms/Julia/blob/main/src/sorts/insertion_sort.jl) -- [Kotlin](https://github.com/TheAlgorithms/Kotlin/blob/master/src/main/kotlin/sort/InsertionSort.kt) -- [Lua](https://github.com/TheAlgorithms/Lua/blob/main/src/sorting/insertionsort.lua) -- [Matlab](https://github.com/TheAlgorithms/MATLAB-Octave/blob/master/algorithms/sorting/insertion_sort.m) -- [PHP](https://github.com/TheAlgorithms/PHP/blob/master/Sorting/InsertionSort.php) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/insertion_sort.py) -- [R](https://github.com/TheAlgorithms/R/blob/master/sorting_algorithms/insertion_sort.r) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/insertion_sort.rb) -- [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/sorting/insertion_sort.rs) -- [Scala Iterative](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Sort/InsertionSort.scala) -- [Scala Recursive](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Sort/RecursiveInsertionSort.scala) -- [Swift](https://github.com/TheAlgorithms/Swift/blob/master/sorts/InsertionSort.swift) -- [TypeScript](https://github.com/TheAlgorithms/TypeScript/blob/master/sorts/insertion_sort.ts) - #### Video Explanation [A CS50 video explaining the Insertion Search Algorithm](https://www.youtube.com/watch?v=DFG-XuyPYUQ) diff --git a/en/Sorting Algorithms/Merge Sort.md b/en/Sorting Algorithms/Merge Sort.md index 08a3d541..d26b6275 100644 --- a/en/Sorting Algorithms/Merge Sort.md +++ b/en/Sorting Algorithms/Merge Sort.md @@ -59,31 +59,6 @@ Similarly [3, 7] and [4, 6] will be merged and made [3, 4, 6, 7]. At the next stack level [1, 2, 5, 9] and [3, 4, 6, 7] will be merged and we will get the final sorted array as [1, 2, 3, 4, 5, 6, 7, 9]. ``` -#### Code Implementation Links - -- [Assembly](https://github.com/TheAlgorithms/AArch64_Assembly/blob/main/sorters/merge_sort.s) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/merge_sort.cpp) -- [Dart](https://github.com/TheAlgorithms/Dart/blob/master/sort/merge_sort.dart) -- [Elixir](https://github.com/TheAlgorithms/Elixir/blob/master/lib/sorting/merge_sort.ex) -- [Elm](https://github.com/TheAlgorithms/Elm/blob/master/src/Sorting/MergeSort.elm) -- [F#](https://github.com/TheAlgorithms/F-Sharp/blob/main/Algorithms/Sort/Merge_Sort.fs) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/sort/mergesort.go) -- [Haskell](https://github.com/TheAlgorithms/Haskell/blob/master/src/Sorts/MergeSort.hs) -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/MergeSort.java) -- [JavaScript](https://github.com/TheAlgorithms/JavaScript/blob/master/Sorts/MergeSort.js) -- [Julia](https://github.com/TheAlgorithms/Julia/blob/main/src/sorts/merge_sort.jl) -- [Kotlin](https://github.com/TheAlgorithms/Kotlin/blob/master/src/main/kotlin/sort/MergeSort.kt) -- [Lua](https://github.com/TheAlgorithms/Lua/blob/main/src/sorting/mergesort.lua) -- [Matlab](https://github.com/TheAlgorithms/MATLAB-Octave/blob/master/algorithms/sorting/merge_sort.m) -- [PHP](https://github.com/TheAlgorithms/PHP/blob/master/Sorting/MergeSort.php) -- [R](https://github.com/TheAlgorithms/R/blob/master/sorting_algorithms/merge_sort.r) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/merge_sort.rb) -- [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/sorting/merge_sort.rs) -- [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Sort/MergeSort.scala) -- [Solidity](https://github.com/TheAlgorithms/Solidity/blob/main/src/Sorts/MergeSort.sol) -- [Swift](https://github.com/TheAlgorithms/Swift/blob/master/sorts/MergeSort.swift) -- [TypeScript](https://github.com/TheAlgorithms/TypeScript/blob/master/sorts/merge_sort.ts) - #### Video Explanation [A CS50 video explaining the Merge Sort Algorithm](https://www.youtube.com/watch?v=EeQ8pwjQxTM) diff --git a/en/Sorting Algorithms/Quick Sort.md b/en/Sorting Algorithms/Quick Sort.md index bbd9b65e..666e0c46 100644 --- a/en/Sorting Algorithms/Quick Sort.md +++ b/en/Sorting Algorithms/Quick Sort.md @@ -66,35 +66,6 @@ Now 70 is at its correct place. All elements smaller than it. ``` -#### Code Implementation Links - -- [Assembly](https://github.com/TheAlgorithms/AArch64_Assembly/blob/main/sorters/quick_sort.s) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/quick_sort.c) -- [C#](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/QuickSorter.cs) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/quick_sort.cpp) -- [Dart](https://github.com/TheAlgorithms/Dart/blob/master/sort/quick_Sort.dart) -- [Elixir](https://github.com/TheAlgorithms/Elixir/blob/master/lib/sorting/quick_sort.ex) -- [F#](https://github.com/TheAlgorithms/F-Sharp/blob/main/Algorithms/Sort/Quick_Sort.fs) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/sort/quicksort.go) -- [Haskell](https://github.com/TheAlgorithms/Haskell/blob/master/src/Sorts/QuickSort.hs) -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/QuickSort.java) -- [JavaScript Iterative](https://github.com/TheAlgorithms/JavaScript/blob/master/Sorts/QuickSort.js) -- [JavaScript Recursive](https://github.com/TheAlgorithms/JavaScript/blob/master/Sorts/QuickSortRecursive.js) -- [Julia](https://github.com/TheAlgorithms/Julia/blob/main/src/sorts/quick_sort.jl) -- [Kotlin](https://github.com/TheAlgorithms/Kotlin/blob/master/src/main/kotlin/sort/QuickSort.kt) -- [Lua](https://github.com/TheAlgorithms/Lua/blob/main/src/sorting/quicksort.lua) -- [Matlab](https://github.com/TheAlgorithms/MATLAB-Octave/blob/master/algorithms/sorting/quick_sort.m) -- [OCaml](https://github.com/TheAlgorithms/OCaml/blob/master/Sorts/quicksort.ml) -- [PHP](https://github.com/TheAlgorithms/PHP/blob/master/Sorting/QuickSort.php) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/quick_sort.py) -- [R](https://github.com/TheAlgorithms/R/blob/master/sorting_algorithms/quick_sort.r) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/quicksort.rb) -- [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/sorting/quick_sort.rs) -- [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Sort/QuickSort.scala) -- [Solidity](https://github.com/TheAlgorithms/Solidity/blob/main/src/Sorts/QuickSort.sol) -- [Swift](https://github.com/TheAlgorithms/Swift/blob/master/sorts/QuickSort.swift) -- [TypeScript](https://github.com/TheAlgorithms/TypeScript/blob/master/sorts/quick_sort.ts) - #### Video Explanation [A video explaining the Quick Sort Algorithm](https://www.youtube.com/watch?v=COk73cpQbFQ) diff --git a/en/Sorting Algorithms/Radix Sort.md b/en/Sorting Algorithms/Radix Sort.md index c8605f19..0e474d06 100644 --- a/en/Sorting Algorithms/Radix Sort.md +++ b/en/Sorting Algorithms/Radix Sort.md @@ -46,24 +46,6 @@ If we have `log2n` bits for every digit, the running time of Radix appears to be asymptotic notation are higher for Radix Sort and Quick-Sort uses hardware caches more effectively. Also, Radix sort uses counting sort as a subroutine and counting sort takes extra space to sort numbers. -#### Code Implementation Links - -- [Assembly](https://github.com/TheAlgorithms/AArch64_Assembly/blob/main/sorters/radix_sort.s) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/radix_sort.c) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/radix_sort.cpp) -- [C#](https://github.com/TheAlgorithms/C-Sharp/tree/master/Algorithms/Sorters/Integer/RadixSorter.cs) -- [Dart](https://github.com/TheAlgorithms/Dart/blob/master/sort/radix_sort.dart) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/sort/radixsort.go) -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/RadixSort.java) -- [JavaScript](https://github.com/TheAlgorithms/JavaScript/blob/master/Sorts/RadixSort.js) -- [Lua](https://github.com/TheAlgorithms/Lua/blob/main/src/sorting/radixsort.lua) -- [PHP](https://github.com/TheAlgorithms/PHP/blob/master/Sorting/RadixSort.php) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/radix_sort.py) -- [R](https://github.com/TheAlgorithms/R/blob/master/sorting_algorithms/radix_sort.r) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/radix_sort.rb) -- [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/sorting/radix_sort.rs) -- [Zig](https://github.com/TheAlgorithms/Zig/blob/main/sort/radixSort.zig) - #### Video Explanation Video reference: https://youtu.be/nu4gDuFabIM diff --git a/en/Sorting Algorithms/Recursive Versions/Recursive Bubble Sort.md b/en/Sorting Algorithms/Recursive Versions/Recursive Bubble Sort.md index ef0b1972..0c66b6b6 100644 --- a/en/Sorting Algorithms/Recursive Versions/Recursive Bubble Sort.md +++ b/en/Sorting Algorithms/Recursive Versions/Recursive Bubble Sort.md @@ -63,11 +63,6 @@ void bubbleSort(arr[], n) bubbleSort(arr, n-1) ``` -## Implementations - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/BubbleSortRecursion.java) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/bubble_sort_recursion.c) - ## Video Explanation [A video explaining iterative as well as recursive bubble sort](https://www.youtube.com/watch?v=gDMDVLBfCI0) diff --git a/en/Sorting Algorithms/Selection Sort.md b/en/Sorting Algorithms/Selection Sort.md index f9552f04..713b2d41 100644 --- a/en/Sorting Algorithms/Selection Sort.md +++ b/en/Sorting Algorithms/Selection Sort.md @@ -49,35 +49,6 @@ Indexes: 0 1 2 3 The array is now sorted. ``` -#### Code Implementation Links - -- [Assembly](https://github.com/TheAlgorithms/AArch64_Assembly/blob/main/sorters/selection_sort.s) -- [C iterative](https://github.com/TheAlgorithms/C/blob/master/sorting/selection_sort.c) -- [C recursive](https://github.com/TheAlgorithms/C/blob/master/sorting/selection_sort_recursive.c) -- [C#](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/SelectionSorter.cs) -- [C++ Iterative](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/selection_sort_iterative.cpp) -- [C++ Recursive](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/selection_sort_recursive.cpp) -- [Dart](https://github.com/TheAlgorithms/Dart/blob/master/sort/select_Sort.dart) -- [Elixir](https://github.com/TheAlgorithms/Elixir/blob/master/lib/sorting/selection_sort.ex) -- [Elm](https://github.com/TheAlgorithms/Elm/blob/master/src/Sorting/SelectionSort.elm) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/sort/selectionsort.go) -- [Haskell](https://github.com/TheAlgorithms/Haskell/blob/master/src/Sorts/SelectionSort.hs) -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/SelectionSort.java) -- [Javascript](https://github.com/TheAlgorithms/JavaScript/blob/master/Sorts/SelectionSort.js) -- [Julia](https://github.com/TheAlgorithms/Julia/blob/main/src/sorts/selection_sort.jl) -- [Kotlin](https://github.com/TheAlgorithms/Kotlin/blob/master/src/main/kotlin/sort/SelectionSort.kt) -- [Lua](https://github.com/TheAlgorithms/Lua/blob/main/src/sorting/selectionsort.lua) -- [Matlab](https://github.com/TheAlgorithms/MATLAB-Octave/blob/master/algorithms/sorting/select_sort.m) -- [PHP](https://github.com/TheAlgorithms/PHP/blob/master/Sorting/SelectionSort.php) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/selection_sort.py) -- [R](https://github.com/TheAlgorithms/R/blob/master/sorting_algorithms/selection_sort.r) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/Sorting/selection_sort.rb) -- [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/sorting/selection_sort.rs) -- [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Sort/SelectionSort.scala) -- [Solidity](https://github.com/TheAlgorithms/Solidity/blob/main/src/Sorts/SelectionSort.sol) -- [Swift](https://github.com/TheAlgorithms/Swift/blob/master/sorts/SelectionSort.swift) -- [TypeScript](https://github.com/TheAlgorithms/TypeScript/blob/master/sorts/selection_sort.ts) - #### Video Explanation [A video explaining the Selection Sort Algorithm](https://www.youtube.com/watch?v=f8hXR_Hvybo) diff --git a/en/Sorting Algorithms/Shell Sort.md b/en/Sorting Algorithms/Shell Sort.md index 06e59764..94b94060 100644 --- a/en/Sorting Algorithms/Shell Sort.md +++ b/en/Sorting Algorithms/Shell Sort.md @@ -54,23 +54,6 @@ Initial Gap: 4 12. Divide the gap by 2 and repeat until gap = 1 ``` -#### Code Implementation Links - -- [Assembly](https://github.com/TheAlgorithms/AArch64_Assembly/blob/main/sorters/shell_sort.s) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/shell_sort.c) -- [C#](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/ShellSorter.cs) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/shell_sort.cpp) -- [Dart](https://github.com/TheAlgorithms/Dart/blob/master/sort/shell_Sort.dart) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/sort/shellsort.go) -- [Haskell](https://github.com/TheAlgorithms/Haskell/blob/master/src/Sorts/ShellSort.hs) -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/ShellSort.java) -- [JavaScript](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/shellSort.js) -- [Matlab](https://github.com/TheAlgorithms/MATLAB-Octave/blob/master/algorithms/sorting/shell_sort.m) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/shell_sort.py) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/Sorting/shell_sort.rb) -- [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/sorting/shell_sort.rs) - - #### Video Explanation [A video explaining the Shell Sort Algorithm](https://www.youtube.com/watch?v=H8NiFkGu2PY) diff --git a/es/Algoritmos de Ordenamiento/Ordenamiento Burbuja.md b/es/Algoritmos de Ordenamiento/Ordenamiento Burbuja.md index 7f473370..2e1b0be4 100644 --- a/es/Algoritmos de Ordenamiento/Ordenamiento Burbuja.md +++ b/es/Algoritmos de Ordenamiento/Ordenamiento Burbuja.md @@ -79,18 +79,6 @@ Indices: 0 1 2 3 Como no hay intercambios en los pasos de arriba, el arreglo ya se ha ordenado y nos podemos detener. ``` -#### Enlaces a implementaciones de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/BubbleSort.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Sorting/Bubble%20Sort.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/bubble_sort.py) -- [C-Sharp](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/BubbleSorter.cs) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/sort/bubblesort.go) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/Sorting/bubble_sort.rb) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/BubbleSort.c) -- [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Sort/BubbleSort.scala) -- [Javascript](https://github.com/TheAlgorithms/JavaScript/blob/master/Sorts/BubbleSort.js) - #### Explicación en video [Un video explicando el Algoritmo de Ordenamiento Burbuja](https://www.youtube.com/watch?v=EQMGabLO_M0) diff --git a/es/Algoritmos de Ordenamiento/Ordenamiento Shell.md b/es/Algoritmos de Ordenamiento/Ordenamiento Shell.md index 7ae4c0d3..3c4aa1e7 100644 --- a/es/Algoritmos de Ordenamiento/Ordenamiento Shell.md +++ b/es/Algoritmos de Ordenamiento/Ordenamiento Shell.md @@ -55,17 +55,6 @@ Brecha inicial: 4 12. Divida la brecha por 2 y repita hasta la brecha = 1 ``` -#### Enlaces de implementación de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/ShellSort.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Sorting/Shell%20Sort.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/shell_sort.py) -- [C-Sharp](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/ShellSorter.cs) -- [Ir](https://github.com/TheAlgorithms/Go/blob/master/sort/shellsort.go) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/Sorting/shell_sort.rb) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/shellSort.c) -- [Javascript](https://github.com/TheAlgorithms/JavaScript/blob/master/Sorts/ShellSort.js) - #### Explicación de vídeo [Un vídeo explicando el algoritmo del ordenamiento de Shell](https://www.youtube.com/watch?v=H8NiFkGu2PY) diff --git "a/es/Algoritmos de Ordenamiento/Ordenamiento de fusi\303\263n.md" "b/es/Algoritmos de Ordenamiento/Ordenamiento de fusi\303\263n.md" index f0122536..02df6850 100644 --- "a/es/Algoritmos de Ordenamiento/Ordenamiento de fusi\303\263n.md" +++ "b/es/Algoritmos de Ordenamiento/Ordenamiento de fusi\303\263n.md" @@ -31,12 +31,6 @@ Vuelva a llamar a la función de ordenación de combinación de llamadas para es Ahora combine ambas mitades para obtener la matriz ordenada [0, 1, 2, 3, 5, 9] ``` -#### Enlaces de la implementación del código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/MergeSort.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/merge_sort.cpp) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/merge_sort.rb) - #### Explicación de vídeo [Un vídeo CS50 que explica el algoritmo de ordemaniento de fusión](https://www.youtube.com/watch?v=EeQ8pwjQxTM) diff --git "a/es/Algoritmos de Ordenamiento/Ordenamiento de inserci\303\263n.md" "b/es/Algoritmos de Ordenamiento/Ordenamiento de inserci\303\263n.md" index 013e7089..20a9d11d 100644 --- "a/es/Algoritmos de Ordenamiento/Ordenamiento de inserci\303\263n.md" +++ "b/es/Algoritmos de Ordenamiento/Ordenamiento de inserci\303\263n.md" @@ -47,16 +47,6 @@ y los elementos del 11 al 13 se moverán una posición por delante de su posici 5, 6, 11, 12, 13 -- matriz ordenada ``` -#### Enlaces de implementación del código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/InsertionSort.java) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/insertion_sort.c) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/insertion_sort.cpp) -- [C#](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/InsertionSorter.cs) -- [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Sort/InsertionSort.scala) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/insertion_sort.py) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/insertion_sort.rb) - #### Explicación de vídeo [Un vídeo CS50 que explica el algoritmo de Ordenamiento de inserción](https://www.youtube.com/watch?v=DFG-XuyPYUQ) diff --git "a/es/Algoritmos de Ordenamiento/Ordenamiento de mont\303\263n (heap sort).md" "b/es/Algoritmos de Ordenamiento/Ordenamiento de mont\303\263n (heap sort).md" index 5007099b..2732ff73 100644 --- "a/es/Algoritmos de Ordenamiento/Ordenamiento de mont\303\263n (heap sort).md" +++ "b/es/Algoritmos de Ordenamiento/Ordenamiento de mont\303\263n (heap sort).md" @@ -55,17 +55,6 @@ El procedimiento de amontonar se llama a sí mismo recursivamente para construir ![imagen del montón](https://upload.wikimedia.org/wikipedia/commons/1/1b/Sorting_heapsort_anim.gif "Heap sort") -#### Enlaces de implementación de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/HeapSort.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/heap_sort.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/heap_sort.py) -- [Ir](https://github.com/TheAlgorithms/Go/blob/master/sort/heapsort.go) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/heap_sort.rb) -- [C-sharp](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/HeapSorter.cs) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/heap_sort.c) -- [Javascript](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/HeapSort.js) - #### Explicación de vídeo [Un vídeo explicando el algoritmo de ordenamiento de montón (heap sort)](https://www.youtube.com/watch?v=MtQL_ll5KhQ) diff --git "a/es/Algoritmos de Ordenamiento/Ordenamiento de selecci\303\263n.md" "b/es/Algoritmos de Ordenamiento/Ordenamiento de selecci\303\263n.md" index d2447869..8aaa49cb 100644 --- "a/es/Algoritmos de Ordenamiento/Ordenamiento de selecci\303\263n.md" +++ "b/es/Algoritmos de Ordenamiento/Ordenamiento de selecci\303\263n.md" @@ -49,17 +49,6 @@ arr[] = {80, 10, 40, 30} La matriz ahora está ordenada. ``` -#### Enlaces de implementación de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/SelectionSort.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Sorting/Selection%20Sort.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/selection_sort.py) -- [Ir](https://github.com/TheAlgorithms/Go/blob/master/sort/selectionsort.go) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/Sorting/selection_sort.rb) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/SelectionSort.c) -- [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Sort/SelectionSort.scala) -- [Javascript](https://github.com/TheAlgorithms/JavaScript/blob/master/Sorts/SelectionSort.js) - #### Explicación de vídeo [Un vídeo explicando el algoritmo de Ordenamiento de selección](https://www.youtube.com/watch?v=f8hXR_Hvybo) diff --git "a/es/Algoritmos de Ordenamiento/Ordenamiento r\303\241pido.md" "b/es/Algoritmos de Ordenamiento/Ordenamiento r\303\241pido.md" index 837997b5..62c9dfd9 100644 --- "a/es/Algoritmos de Ordenamiento/Ordenamiento r\303\241pido.md" +++ "b/es/Algoritmos de Ordenamiento/Ordenamiento r\303\241pido.md" @@ -67,13 +67,6 @@ Ahora 70 está en su lugar correcto. Todos los elementos más pequeños que eso. ``` -#### Enlaces de implementación de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/QuickSort.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Sorting/Quick%20Sort.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/quick_sort.py) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/quicksort.rb) - #### Explicación de vídeo [Un vídeo explicando el algoritmo de ordenamiento rápido](https://www.youtube.com/watch?v=COk73cpQbFQ) diff --git "a/es/Algoritmos de b\303\272squeda/B\303\272squeda binaria.md" "b/es/Algoritmos de b\303\272squeda/B\303\272squeda binaria.md" index cb6ce132..089c1566 100644 --- "a/es/Algoritmos de b\303\272squeda/B\303\272squeda binaria.md" +++ "b/es/Algoritmos de b\303\272squeda/B\303\272squeda binaria.md" @@ -38,24 +38,6 @@ target = 9 Búsqueda binaria debe devolver -1 dado que 9 no está presente en la matriz ``` -#### Enlaces de implementación de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/searches/BinarySearch.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Search/Binary%20Search.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/searches/binary_search.py) -- [C-Sharp](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Search/BinarySearcher.cs) -- [C](https://github.com/TheAlgorithms/C/blob/master/searching/Binary_Search.c) -- [JavaScript](https://github.com/TheAlgorithms/Javascript/blob/master/Search/BinarySearch.js) -- [Haskell](https://github.com/TheAlgorithms/Haskell/blob/master/src/Misc/BinarySearch.hs) -- [F-Sharp](https://github.com/TheAlgorithms/F-Sharp/blob/main/Algorithms/Search/BinarySearch.fs) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/search/binary.go) -- [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/searching/binary_search.rs) -- [Dart](https://github.com/TheAlgorithms/Dart/blob/master/search/binary_Search.dart) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/Searches/binary_search.rb) -- [PHP](https://github.com/TheAlgorithms/PHP/blob/master/searches/binary_search.php) -- [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Search/BinarySearch.scala) -- [MATLAB-Octave](https://github.com/TheAlgorithms/MATLAB-Octave/blob/master/algorithms/Searching/binary_search.m) - #### Explicación en vídeo de YouTube [Un vídeo CS50 explicando el algoritmo de búsqueda binaria](https://www.youtube.com/watch?v=5xlIPT1FRcA) diff --git "a/es/Algoritmos de b\303\272squeda/B\303\272squeda exponencial.md" "b/es/Algoritmos de b\303\272squeda/B\303\272squeda exponencial.md" index fbb2c658..3dad7976 100644 --- "a/es/Algoritmos de b\303\272squeda/B\303\272squeda exponencial.md" +++ "b/es/Algoritmos de b\303\272squeda/B\303\272squeda exponencial.md" @@ -53,8 +53,3 @@ Echemos un vistazo a esta comparación con un ejemplo menos teórico. Imagine qu - La búsqueda binaria comienza desde el centro de la matriz y llega a la 4ª posición después de muchas iteraciones - La búsqueda exponencial llega al 4º índice después de sólo 2 iteraciones - -#### Enlaces de implementación de código - -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/search/exponential_search.cpp) -- [JavaScript](https://github.com/TheAlgorithms/Javascript/blob/master/Search/ExponentialSearch.js) diff --git "a/es/Algoritmos de b\303\272squeda/B\303\272squeda lineal.md" "b/es/Algoritmos de b\303\272squeda/B\303\272squeda lineal.md" index 7d8f827d..1e86ff63 100644 --- "a/es/Algoritmos de b\303\272squeda/B\303\272squeda lineal.md" +++ "b/es/Algoritmos de b\303\272squeda/B\303\272squeda lineal.md" @@ -33,23 +33,6 @@ target = 6 La búsqueda lineal debe devolver -1 ya que 6 no está presente en la matriz ``` -#### Enlaces de implementación de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/searches/LinearSearch.java) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/searches/linear_search.py) -- [JavaScript](https://github.com/TheAlgorithms/Javascript/blob/master/Search/LinearSearch.js) -- [C-Sharp](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Search/LinearSearcher.cs) -- [C](https://github.com/TheAlgorithms/C/blob/master/searching/linear_search.c) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/search/linear.go) -- [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/searching/linear_search.rs) -- [Dart](https://github.com/TheAlgorithms/Dart/blob/master/search/linear_Search.dart) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/Searches/linear_search.rb) -- [PHP](https://github.com/TheAlgorithms/PHP/blob/master/searches/linear_search.php) -- [Kotlin](https://github.com/TheAlgorithms/Kotlin/blob/master/src/main/kotlin/search/LinearSearch.kt) -- [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Search/LinearSearch.scala) -- [OCaml](https://github.com/TheAlgorithms/OCaml/blob/master/searches/linear_search.ml) -- [MATLAB-Octave](https://github.com/TheAlgorithms/MATLAB-Octave/blob/master/algorithms/Searching/linear_search.m) - #### Explicación en YouTube [Un vídeo CS50 que explica el algoritmo de búsqueda lineal](https://www.youtube.com/watch?v=CX2CYIJLwfg) diff --git "a/es/Algoritmos de selecci\303\263n/Selecci\303\263n R\303\241pida.md" "b/es/Algoritmos de selecci\303\263n/Selecci\303\263n R\303\241pida.md" index 8d40f9fa..d15428ee 100644 --- "a/es/Algoritmos de selecci\303\263n/Selecci\303\263n R\303\241pida.md" +++ "b/es/Algoritmos de selecci\303\263n/Selecci\303\263n R\303\241pida.md" @@ -39,11 +39,6 @@ Digamos que k = 4 y tenemos que encontrar el cuarto elemento menor: 4. Como la posición de '7' es la cuarta, simplemente devolveremos el valor 7. ``` -## Enlaces de implementaciones de código - -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/selecting/quickSelect.cpp) -- [Python](https://programmerclick.com/article/92711720579/) - ## Enlaces de explicación en vídeo [Programación en C++, Ordenamiento por Selección](https://www.youtube.com/watch?v=HVa2_UtXkCI) diff --git a/es/Cifrado/Cifrado Cesar.md b/es/Cifrado/Cifrado Cesar.md index 5f62140a..daf35af8 100644 --- a/es/Cifrado/Cifrado Cesar.md +++ b/es/Cifrado/Cifrado Cesar.md @@ -38,9 +38,3 @@ Digamos que estamos enviando un mensaje secreto a un amigo. * La segunda letra es `h`. La letra a 6 letras de distancia es `n`. Nuestro mensaje ahora es `Zn` * Seguimos así hasta el final. Nuestro mensaje final es: `Znk Igkygx iovnkx oy g lat yahyzozazout iovnkx.` * El descifrado es de la misma manera, excepto que en lugar de ir a la derecha en el alfabeto, vamos hacia atrás. - -## Implementación - -* [Python](https://github.com/TheAlgorithms/Python/blob/master/ciphers/caesar_cipher.py) -* [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/ciphers/caesar_cipher.cpp) -* [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/ciphers/caesar.rs) diff --git "a/es/Estructuras de datos/Gr\303\241fico/Bellman Ford.md" "b/es/Estructuras de datos/Gr\303\241fico/Bellman Ford.md" index 1e32bba7..d3908206 100644 --- "a/es/Estructuras de datos/Gr\303\241fico/Bellman Ford.md" +++ "b/es/Estructuras de datos/Gr\303\241fico/Bellman Ford.md" @@ -86,13 +86,6 @@ D -2 A->B->E->D = -1 + 2 + -3 E 1 A->B->E = -1 + 2 ``` -#### Enlaces de implementación de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/datastructures/graphs/BellmanFord.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Dynamic%20Programming/Bellman-Ford.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/data_structures/graph/bellman_ford.py) -- [C](https://github.com/TheAlgorithms/C/blob/master/data_structures/graphs/Bellman-Ford.c) - #### Explicación de vídeo [Un video explicando el algoritmo Bellman Ford](https://www.youtube.com/watch?v=hxMWBBCpR6A) diff --git a/es/Estructuras de datos/Listas vinculadas/Doble lista vinculada.md b/es/Estructuras de datos/Listas vinculadas/Doble lista vinculada.md index e4492ee7..6cd9548a 100644 --- a/es/Estructuras de datos/Listas vinculadas/Doble lista vinculada.md +++ b/es/Estructuras de datos/Listas vinculadas/Doble lista vinculada.md @@ -102,14 +102,6 @@ class LinkedList { ![Seguimiento del algoritmo](https://www.geeksforgeeks.org/wp-content/uploads/gq/2014/03/DLL_add_middle1.png) -## Enlaces de implementación de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/datastructures/lists/DoublyLinkedList.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Data%20Structure/Doubly%20Linked%20List.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/data_structures/linked_list/doubly_linked_list.py) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/data-structures/linked-list/double-linkedlist.go) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/data_structures/linked_lists/double_list.rb) - ## Explicación de vídeo [Un vídeo CS50 explicando la Estructura de Datos de la Lista Doblemente Vinculada](https://www.youtube.com/watch?v=FHMPswJDCvU) diff --git a/es/Estructuras de datos/Listas vinculadas/Lista singular vinculada.md b/es/Estructuras de datos/Listas vinculadas/Lista singular vinculada.md index bbf71447..8be7ca58 100644 --- a/es/Estructuras de datos/Listas vinculadas/Lista singular vinculada.md +++ b/es/Estructuras de datos/Listas vinculadas/Lista singular vinculada.md @@ -37,11 +37,6 @@ class LinkedList { } ``` -## Enlaces de implementación de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/datastructures/lists/SinglyLinkedList.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Data%20Structure/Linked%20List.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/data_structures/linked_list/singly_linked_list.py) ## Explicación de vídeo diff --git "a/es/Matematicas B\303\241sico/Numeros_Fibonacci.md" "b/es/Matematicas B\303\241sico/Numeros_Fibonacci.md" index 121518ee..23778eed 100644 --- "a/es/Matematicas B\303\241sico/Numeros_Fibonacci.md" +++ "b/es/Matematicas B\303\241sico/Numeros_Fibonacci.md" @@ -65,13 +65,6 @@ Calcular matriz^8 F(8)=21 -## Implementación - -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/math/fibonacci.cpp) -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/FibonacciNumber.java) -- [Javascript](https://github.com/TheAlgorithms/Javascript/blob/80c2dc85d714f73783f133964d6acd9b5625ddd9/Maths/Fibonacci.js) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/maths/fibonacci.py) - ## Video en YouTube - [YouTube](https://www.youtube.com/watch?v=EEb6JP3NXBI) diff --git "a/es/Matematicas B\303\241sico/Promedio.md" "b/es/Matematicas B\303\241sico/Promedio.md" index ee2ca0ef..6735c765 100644 --- "a/es/Matematicas B\303\241sico/Promedio.md" +++ "b/es/Matematicas B\303\241sico/Promedio.md" @@ -58,10 +58,6 @@ Si consideramos correctamente dígitos significativos: `suma / recuento = 23` Devuelva el valor de 22. 857142 o `23`. -## Implementación - -- [Python](https://github.com/TheAlgorithms/Python/blob/master/maths/average_mean.py) - ## Video en YouTube - [Media en Khan Academy](https://www.khanacademy.org/math/ap-statistics/summarizing-quantitative-data-ap/measuring-center-quantitative/v/mean-media-and-mode) diff --git a/es/Procesamiento de imagenes/Detector de Harris.md b/es/Procesamiento de imagenes/Detector de Harris.md index 6046196b..b171a86f 100644 --- a/es/Procesamiento de imagenes/Detector de Harris.md +++ b/es/Procesamiento de imagenes/Detector de Harris.md @@ -13,10 +13,6 @@ Dada la imagen `$I$`, $ntimes n$ tamaño Gaussian Kernel `$G_{ntimes n}$`, 3. Calcule la función de respuesta `$R$`, donde `$R=AB-C^2-k(A+B)$` 4. Clasifique todos los puntos en `$R$`. -## Enlaces de implementación de código - -- [Python](https://github.com/TheAlgorithms/Python/blob/master/digital_image_processing/feature_detectors/harris.py) - ## Referencia C. Harris y M. Stephens, "A Combined Corner and Edge Detector", en *Procedings of the Alvey Vision Conference 1988*, Manchester, 1988, págs. 23.1-23.6. diff --git "a/es/Programaci\303\263n dinamica/Cambio de monedas.md" "b/es/Programaci\303\263n dinamica/Cambio de monedas.md" index 92bd4425..7e1228a4 100644 --- "a/es/Programaci\303\263n dinamica/Cambio de monedas.md" +++ "b/es/Programaci\303\263n dinamica/Cambio de monedas.md" @@ -58,15 +58,6 @@ Digamos que tenemos 3 tipos de monedas `[1,2,3]`, y queremos cambiarlas por 7 ce Así que la respuesta final es **8**. 8 maneras de hacer un cambio de 7 centavos usando todos los tipos de monedas. `{{1,1,1,1,1,1,1}, {1,1,1,1,1,2}, {1,1,1,2,2}, {1,2,2,2}, {1,1,1,1,3}, {1,3,3}, {2,2,3}, {1,1,2,3}}` -#### Enlace de implementación de código - -* [Python](https://github.com/TheAlgorithms/Python/blob/master/dynamic_programming/coin_change.py) -* [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/dynamic_programming/coin_change.cpp) -* [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/dynamicprogramming/CoinChange.java) -* [Dart](https://github.com/TheAlgorithms/Dart/blob/master/dynamic_programming/coin_change.dart) -* [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/dynamic_programming/coin_change.rb) -* [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/DynamicProgramming/CoinChange.scala) - #### Vídeo de explicación [Formas únicas totales de hacer el cambio de espaldas a espaldas SWE](https://www.youtube.com/watch?v=DJ4a7cmjZY0) diff --git "a/es/Programaci\303\263n dinamica/Subsecuencia com\303\272n m\303\241s larga.md" "b/es/Programaci\303\263n dinamica/Subsecuencia com\303\272n m\303\241s larga.md" index 3b40b70f..d51e4f55 100644 --- "a/es/Programaci\303\263n dinamica/Subsecuencia com\303\272n m\303\241s larga.md" +++ "b/es/Programaci\303\263n dinamica/Subsecuencia com\303\272n m\303\241s larga.md" @@ -75,15 +75,6 @@ B 0 0 1 2 3 Así que la longitud de LCS es `dp[4] [4] = 3`. -#### Enlaces de implementación de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/dynamicprogramming/LongestCommonSubsequence.java) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/dynamic_programming/longest_common_subsequence.py) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Dynamic%20Programming/Longest%20Common%20Subsequence.cpp) -- [JavaScript](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/LongestCommonSubsequence.js) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/dynamic/longestcommonsubsequence.go) -- [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/dynamic_programming/longest_common_subsequence.rs) - #### Explicación en YouTube [Explicación en YouTube de Tushar Roy](https://youtu.be/NnD96abizww) diff --git a/fr/filtres_audio/filtre_butterworth.md b/fr/filtres_audio/filtre_butterworth.md index 85b5d226..b02fc4ba 100644 --- a/fr/filtres_audio/filtre_butterworth.md +++ b/fr/filtres_audio/filtre_butterworth.md @@ -27,7 +27,3 @@ $$\tag{avec $p_k=\omega_ce^{\frac{j(2k+n-1)\pi}{2n}}$}H(p) = \frac{G_0}{\prod^n_ * On commence par calculer les différents coefficients pour le filtre. * On applique ces coefficients à un filtre IIR. - -## Implementation - -* [Python](https://github.com/TheAlgorithms/Python/audio_filters/butterworth_filter.py) diff --git a/fr/math/Determinant.md b/fr/math/Determinant.md index 57feedd4..717bdb0c 100644 --- a/fr/math/Determinant.md +++ b/fr/math/Determinant.md @@ -34,7 +34,3 @@ Calculons le déterminant de la matrice $\begin{bmatrix}1&2&3\\4&5&6\\7&8&9\end{ ### Conclusion Le déterminant de $\begin{bmatrix}1&2&3\\4&5&6\\7&8&9\end{bmatrix}$ est $0$. - -## Implémentation - -* [Python](https://github.com/TheAlgorithms/Python/blob/master/linear_algebra/src/lib.py) diff --git a/fr/math/Suite_de_Fibonacci.md b/fr/math/Suite_de_Fibonacci.md index c52ad099..b6ce3d60 100644 --- a/fr/math/Suite_de_Fibonacci.md +++ b/fr/math/Suite_de_Fibonacci.md @@ -40,7 +40,3 @@ Dans notre exemple nous cherchons à calculer F(6), le 7ème terme de la suite. ### Conclusion On a donc $F(6) = 8$ - -## Implémentation - -* [Python](https://github.com/TheAlgorithms/Python/blob/master/maths/fibonacci.py) diff --git "a/fr/math/Suite_de_Fibonacci_r\303\251cursive.md" "b/fr/math/Suite_de_Fibonacci_r\303\251cursive.md" index e4549d03..12506035 100644 --- "a/fr/math/Suite_de_Fibonacci_r\303\251cursive.md" +++ "b/fr/math/Suite_de_Fibonacci_r\303\251cursive.md" @@ -41,7 +41,3 @@ Dans notre exemple nous cherchons à calculer $F(4)$, le 5ème terme de la suite ### Conclusion On a donc $F(4) = 3$ - -## Implémentation - -* [Python](https://github.com/TheAlgorithms/Python/blob/master/maths/fibonacci_sequence_recursion.py) diff --git a/fr/tri/Tri_fusion.md b/fr/tri/Tri_fusion.md index 359887be..b2b12e4c 100644 --- a/fr/tri/Tri_fusion.md +++ b/fr/tri/Tri_fusion.md @@ -46,11 +46,3 @@ De même, [3, 7] et [4, 6] seront fusionnés et donneront [3, 4, 6, 7]. Au niveau suivant de la pile, [1, 2, 5, 9] et [3, 4, 6, 7] seront fusionnés et nous obtiendrons le tableau trié final comme [1, 2, 3, 4, 5, 6, 7, 9]. ``` - -## Implémentation - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/MergeSort.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/merge_sort.cpp) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/merge_sort.rb) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/sort/mergesort.go) -- [JavaScript](https://github.com/TheAlgorithms/JavaScript/blob/master/Sorts/MergeSort.js) \ No newline at end of file diff --git a/fr/tri/Tri_par_insertion.md b/fr/tri/Tri_par_insertion.md index 7ac6b5aa..b03c5b02 100644 --- a/fr/tri/Tri_par_insertion.md +++ b/fr/tri/Tri_par_insertion.md @@ -44,10 +44,6 @@ Tri par insertion dans le : * [meilleur cas](../Exemples/tri/TriInsertionMeilleur.mp4) * [pire cas](../Exemples/tri/TriInsertionPire.mp4) -## Implémentation - -* [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/insertion_sort.py) - ## Pour aller plus loin * Dans le meilleur cas, nous n'effectuons qu'une unique comparaison. En effet, le terme comparé et plus grand que le terme juste avant, donc aucune modification n'est à effectuer. (ce qui correspond bien à $n$ opérations) diff --git a/fr/tri/Tri_par_selection.md b/fr/tri/Tri_par_selection.md index 3e7e016c..e7f04bb6 100644 --- a/fr/tri/Tri_par_selection.md +++ b/fr/tri/Tri_par_selection.md @@ -48,16 +48,3 @@ Indexes : 0 1 2 3 Le Tableau est maintenant trié. ``` - -## Implémentation - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/SelectionSort.java) -- [C++ Iterative](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/selection_sort_iterative.cpp) -- [C++ Recursive](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/selection_sort_recursive.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/selection_sort.py) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/sort/selectionsort.go) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/Sorting/selection_sort.rb) -- [C iterative](https://github.com/TheAlgorithms/C/blob/master/sorting/selection_sort.c) -- [C recursive](https://github.com/TheAlgorithms/C/blob/master/sorting/selection_sort_recursive.c) -- [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Sort/SelectionSort.scala) -- [TypeScript](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/selectionSort.js) \ No newline at end of file diff --git "a/fr/tri/Tri_\303\240_bulles.md" "b/fr/tri/Tri_\303\240_bulles.md" index 540f37f0..1d460c17 100644 --- "a/fr/tri/Tri_\303\240_bulles.md" +++ "b/fr/tri/Tri_\303\240_bulles.md" @@ -73,15 +73,3 @@ Indexes: 0 1 2 3 Puisqu'il n'y a pas de permutations dans les étapes précédentes, cela signifie que le tableau est trié et que nous pouvons nous arrêter ici. ``` - -## Implémentations - -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/bubble_sort.py) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/bubble_sort.c) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/bubble_sort.cpp) -- [C-Sharp](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/BubbleSorter.cs) -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/BubbleSort.java) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/sorts/bubblesort.go) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/bubble_sort.rb) -- [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Sort/BubbleSort.scala) -- [JavaScript](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/BubbleSort.js) \ No newline at end of file diff --git "a/he/\327\236\327\252\327\236\327\230\327\231\327\247\327\224 \327\221\327\241\327\231\327\241\327\231\327\252/\327\236\327\241\327\244\327\250\327\231 \327\244\327\231\327\221\327\225\327\240\327\220\327\246'\327\231.md" "b/he/\327\236\327\252\327\236\327\230\327\231\327\247\327\224 \327\221\327\241\327\231\327\241\327\231\327\252/\327\236\327\241\327\244\327\250\327\231 \327\244\327\231\327\221\327\225\327\240\327\220\327\246'\327\231.md" index d2a3e9a9..52411f28 100644 --- "a/he/\327\236\327\252\327\236\327\230\327\231\327\247\327\224 \327\221\327\241\327\231\327\241\327\231\327\252/\327\236\327\241\327\244\327\250\327\231 \327\244\327\231\327\221\327\225\327\240\327\220\327\246'\327\231.md" +++ "b/he/\327\236\327\252\327\236\327\230\327\231\327\247\327\224 \327\221\327\241\327\231\327\241\327\231\327\252/\327\236\327\241\327\244\327\250\327\231 \327\244\327\231\327\221\327\225\327\240\327\220\327\246'\327\231.md" @@ -79,12 +79,6 @@ F(8)=21 ``` -

יישום סדרת פיבונאצ'י בשפות תכנות שונות

- -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/math/fibonacci.cpp) -- [Javascript](https://github.com/TheAlgorithms/Javascript/blob/80c2dc85d714f73783f133964d6acd9b5625ddd9/Maths/Fibonacci.js) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/maths/fibonacci.py) -

קישור לסרטון הסבר

- [Youtube](https://www.youtube.com/watch?v=EEb6JP3NXBI) diff --git "a/ko/\352\267\270\353\246\254\353\224\224 \354\225\214\352\263\240\353\246\254\354\246\230/\353\266\204\355\225\240 \352\260\200\353\212\245\355\225\234 \353\260\260\353\202\255 \353\254\270\354\240\234.md" "b/ko/\352\267\270\353\246\254\353\224\224 \354\225\214\352\263\240\353\246\254\354\246\230/\353\266\204\355\225\240 \352\260\200\353\212\245\355\225\234 \353\260\260\353\202\255 \353\254\270\354\240\234.md" index bbf4b9c6..02885f8c 100644 --- "a/ko/\352\267\270\353\246\254\353\224\224 \354\225\214\352\263\240\353\246\254\354\246\230/\353\266\204\355\225\240 \352\260\200\353\212\245\355\225\234 \353\260\260\353\202\255 \353\254\270\354\240\234.md" +++ "b/ko/\352\267\270\353\246\254\353\224\224 \354\225\214\352\263\240\353\246\254\354\246\230/\353\266\204\355\225\240 \352\260\200\353\212\245\355\225\234 \353\260\260\353\202\255 \353\254\270\354\240\234.md" @@ -33,12 +33,6 @@ B는 배낭의 용량보다 작기 때문에 첫 번째로 선택된다. 다음 이것이 가장 적합한 선택이다. 다른 항목을 조합하여 더 많은 돈을 버는 것은 불가능하다. ``` -#### 구현 - -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/greedy_algorithms/knapsack.cpp) -- [Python](https://github.com/TheAlgorithms/Python/tree/master/knapsack) -- [C-Sharp](https://github.com/TheAlgorithms/C-Sharp/tree/master/Algorithms/Knapsack) - #### 영상 URL [A CS50 video explaining the Greedy Algorithm](https://www.youtube.com/watch?v=Ou9OA0yQCYA) diff --git "a/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\354\265\234\353\214\223\352\260\222.md" "b/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\354\265\234\353\214\223\352\260\222.md" index 6b3596cc..2eb04336 100644 --- "a/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\354\265\234\353\214\223\352\260\222.md" +++ "b/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\354\265\234\353\214\223\352\260\222.md" @@ -85,10 +85,6 @@ `70`을 반환한다. -## 구현 - -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/maths/find_max.rb) - ## 영상 URL - [GeeksforGeeks](https://youtu.be/En68ipRaFOU) diff --git "a/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\355\217\211\352\267\240\352\260\222.md" "b/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\355\217\211\352\267\240\352\260\222.md" index 7212ef98..e78aa369 100644 --- "a/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\355\217\211\352\267\240\352\260\222.md" +++ "b/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\355\217\211\352\267\240\352\260\222.md" @@ -55,11 +55,6 @@ count = 7 22.857142나 23을 반환한다. -## 구현 - -- [Python](https://github.com/TheAlgorithms/Python/blob/master/maths/average_mean.py) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/maths/average_mean.rb) - ## 영상 URL - [Khan Academy](https://www.khanacademy.org/math/ap-statistics/summarizing-quantitative-data-ap/measuring-center-quantitative/v/mean-median-and-mode) diff --git "a/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\355\224\274\353\263\264\353\202\230\354\271\230 \354\210\230.md" "b/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\355\224\274\353\263\264\353\202\230\354\271\230 \354\210\230.md" index a2d9338c..b1731808 100644 --- "a/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\355\224\274\353\263\264\353\202\230\354\271\230 \354\210\230.md" +++ "b/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\355\224\274\353\263\264\353\202\230\354\271\230 \354\210\230.md" @@ -65,13 +65,6 @@ F(8) = 21 ``` -## 구현 - -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/math/fibonacci.cpp) -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/FibonacciNumber.java) -- [Javascript](https://github.com/TheAlgorithms/Javascript/blob/80c2dc85d714f73783f133964d6acd9b5625ddd9/Maths/Fibonacci.js) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/maths/fibonacci.py) - ## 영상 URL - [Gaurav Sen](https://www.youtube.com/watch?v=EEb6JP3NXBI) diff --git "a/ko/\354\204\240\355\203\235 \354\225\214\352\263\240\353\246\254\354\246\230/\355\200\265 \354\205\200\353\240\211\355\212\270.md" "b/ko/\354\204\240\355\203\235 \354\225\214\352\263\240\353\246\254\354\246\230/\355\200\265 \354\205\200\353\240\211\355\212\270.md" index 7a6bdfb6..94779760 100644 --- "a/ko/\354\204\240\355\203\235 \354\225\214\352\263\240\353\246\254\354\246\230/\355\200\265 \354\205\200\353\240\211\355\212\270.md" +++ "b/ko/\354\204\240\355\203\235 \354\225\214\352\263\240\353\246\254\354\246\230/\355\200\265 \354\205\200\353\240\211\355\212\270.md" @@ -40,13 +40,6 @@ k = 4, 즉 4번째로 작은 원소를 찾고 싶다고 하자. 4. 7의 위치가 4번째이므로, 우리가 찾는 원소이다. 7을 반환한다. ``` -### 구현 - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/searches/QuickSelect.java) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/searches/quick_select.py) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/search/selectk.go) -- [JavaScript](https://github.com/TheAlgorithms/JavaScript/blob/master/Data-Structures/Array/QuickSelect.js) - ### 관련 영상 [여러가지 시간 복잡도에 따라 K번째로 작은/큰 원소를 찾는 방법을 설명하는 영상](https://youtu.be/hGK_5n81drs) diff --git "a/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\352\267\270\353\236\230\355\224\204/\353\262\250\353\250\274-\355\217\254\353\223\234 \354\225\214\352\263\240\353\246\254\354\246\230.md" "b/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\352\267\270\353\236\230\355\224\204/\353\262\250\353\250\274-\355\217\254\353\223\234 \354\225\214\352\263\240\353\246\254\354\246\230.md" index a632daec..037c182b 100644 --- "a/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\352\267\270\353\236\230\355\224\204/\353\262\250\353\250\274-\355\217\254\353\223\234 \354\225\214\352\263\240\353\246\254\354\246\230.md" +++ "b/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\352\267\270\353\236\230\355\224\204/\353\262\250\353\250\274-\355\217\254\353\223\234 \354\225\214\352\263\240\353\246\254\354\246\230.md" @@ -94,13 +94,6 @@ E 1 (A->B->E = -1 + 2) ``` -## 구현 - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/datastructures/graphs/BellmanFord.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Dynamic%20Programming/Bellman-Ford.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/data_structures/graph/bellman_ford.py) -- [C](https://github.com/TheAlgorithms/C/blob/master/data_structures/graphs/Bellman-Ford.c) - ## 영상 URL - [Yusuf Shakeel (C)](https://www.youtube.com/watch?v=hxMWBBCpR6A) diff --git "a/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\353\213\250\354\235\274 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" "b/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\353\213\250\354\235\274 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" index e2402b33..b4057b57 100644 --- "a/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\353\213\250\354\235\274 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" +++ "b/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\353\213\250\354\235\274 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" @@ -38,12 +38,6 @@ class LinkedList { } ``` -## 구현 - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/datastructures/lists/SinglyLinkedList.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Data%20Structure/Linked%20List.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/data_structures/linked_list/singly_linked_list.py) - ## 영상 URL - [CS50](https://www.youtube.com/watch?v=5nsKtQuT6E8) diff --git "a/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\354\233\220\355\230\225 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" "b/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\354\233\220\355\230\225 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" index b37ad45f..d2c798d6 100644 --- "a/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\354\233\220\355\230\225 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" +++ "b/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\354\233\220\355\230\225 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" @@ -64,12 +64,6 @@ public void insertHead(int data) } ``` -## 구현 - -- [JavaScript](https://github.com/TheAlgorithms/JavaScript/blob/master/Data-Structures/Linked-List/SinglyCircularLinkedList.js) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/data_structures/cll/cll.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/data_structures/linked_list/circular_linked_list.py) - ## 영상 URL [유투브 영상](https://youtu.be/HMkdlu5sP4A) diff --git "a/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\354\235\264\354\244\221 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" "b/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\354\235\264\354\244\221 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" index 2fb6a7f8..d91fda96 100644 --- "a/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\354\235\264\354\244\221 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" +++ "b/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\354\235\264\354\244\221 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" @@ -100,14 +100,6 @@ class LinkedList { } ``` -## 구현 - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/datastructures/lists/DoublyLinkedList.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Data%20Structure/Doubly%20Linked%20List.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/data_structures/linked_list/doubly_linked_list.py) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/data-structures/linked-list/double-linkedlist.go) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/data_structures/linked_lists/double_list.rb) - ## 영상 URL - [CS50](https://www.youtube.com/watch?v=FHMPswJDCvU) diff --git "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\352\263\204\354\210\230 \354\240\225\353\240\254.md" "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\352\263\204\354\210\230 \354\240\225\353\240\254.md" index a388f7e0..180ef9db 100644 --- "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\352\263\204\354\210\230 \354\240\225\353\240\254.md" +++ "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\352\263\204\354\210\230 \354\240\225\353\240\254.md" @@ -41,15 +41,6 @@ countingSort(array, size) decrease count of each element restored by 1 ``` -## 구현 - -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/counting_sort.c) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/counting_sort.cpp) -- [JavaScript](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/CountingSort.js) -- [Matlab](https://github.com/TheAlgorithms/MATLAB-Octave/blob/master/algorithms/sorting/counting_sort.m) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/counting_sort.py) -- [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/sorting/counting_sort.rs) - ## 영상 URL - [GeeksforGeeks](https://www.youtube.com/watch?v=7zuGmKfUt7s) diff --git "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\262\204\353\270\224 \354\240\225\353\240\254 (\354\236\254\352\267\200 \353\262\204\354\240\204).md" "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\262\204\353\270\224 \354\240\225\353\240\254 (\354\236\254\352\267\200 \353\262\204\354\240\204).md" index 2ef2515e..c4bf95dd 100644 --- "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\262\204\353\270\224 \354\240\225\353\240\254 (\354\236\254\352\267\200 \353\262\204\354\240\204).md" +++ "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\262\204\353\270\224 \354\240\225\353\240\254 (\354\236\254\352\267\200 \353\262\204\354\240\204).md" @@ -69,11 +69,6 @@ void bubbleSort(arr[], n) bubbleSort(arr, n-1) ``` -## 구현 - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/Sorts/BubbleSortRecursion.java) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/bubble_sort_recursion.c) - ## 영상 URL - [Programming Tutorials](https://www.youtube.com/watch?v=gDMDVLBfCI0) diff --git "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\262\204\353\270\224 \354\240\225\353\240\254.md" "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\262\204\353\270\224 \354\240\225\353\240\254.md" index 776d1982..577e27a3 100644 --- "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\262\204\353\270\224 \354\240\225\353\240\254.md" +++ "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\262\204\353\270\224 \354\240\225\353\240\254.md" @@ -79,18 +79,6 @@ $O(1)$ 최악의 경우 위 단계에서 교환이 없기 때문에 배열이 정렬되었음을 의미하고, 여기서 멈출 수 있다. ``` -## 구현 - -- [자바](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/BubbleSort.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/bubble_sort.cpp) -- [파이썬](https://github.com/TheAlgorithms/Python/blob/master/sorts/bubble_sort.py) -- [C#](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/BubbleSorter.cs) -- [고](https://github.com/TheAlgorithms/Go/blob/master/sorts/bubblesort.go) -- [루비](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/bubble_sort.rb) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/bubble_sort.c) -- [스칼라](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Sort/BubbleSort.scala) -- [자바스크립트](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/BubbleSort.js) - ## 영상 URL - [버블정렬 알고리즘에 대한 영상 설명](https://www.youtube.com/watch?v=Jdtq5uKz-w4) diff --git "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\263\221\355\225\251 \354\240\225\353\240\254.md" "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\263\221\355\225\251 \354\240\225\353\240\254.md" index fd19920c..14bf3b52 100644 --- "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\263\221\355\225\251 \354\240\225\353\240\254.md" +++ "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\263\221\355\225\251 \354\240\225\353\240\254.md" @@ -31,12 +31,6 @@ Recursively call merge sort function for both these halves which will provide so Now merge both these halves to get the sorted array [0, 1, 2, 3, 5, 9] ``` -## 구현 - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/Sorts/MergeSort.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/merge_sort.cpp) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/merge_sort.rb) - ## 영상 URL - [CS50](https://www.youtube.com/watch?v=EeQ8pwjQxTM) diff --git "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\202\275\354\236\205 \354\240\225\353\240\254.md" "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\202\275\354\236\205 \354\240\225\353\240\254.md" index 0d66ae1a..74a9f5b2 100644 --- "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\202\275\354\236\205 \354\240\225\353\240\254.md" +++ "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\202\275\354\236\205 \354\240\225\353\240\254.md" @@ -51,16 +51,6 @@ and elements from 11 to 13 will move one position ahead of their current positio 5, 6, 11, 12, 13 -- sorted array ``` -## 구현 - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/Sorts/InsertionSort.java) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/insertion_sort.c) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/insertion_sort.cpp) -- [C#](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/InsertionSorter.cs) -- [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Sort/InsertionSort.scala) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/insertion_sort.py) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/insertion_sort.rb) - ## 영상 URL - [CS50](https://www.youtube.com/watch?v=DFG-XuyPYUQ) diff --git "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\204\240\355\203\235 \354\240\225\353\240\254.md" "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\204\240\355\203\235 \354\240\225\353\240\254.md" index 1c7eccde..28040c6d 100644 --- "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\204\240\355\203\235 \354\240\225\353\240\254.md" +++ "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\204\240\355\203\235 \354\240\225\353\240\254.md" @@ -47,17 +47,6 @@ Indexes: 0 1 2 3 The array is now sorted. ``` -## 구현 - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/Sorts/SelectionSort.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Sorting/Selection%20Sort.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/selection_sort.py) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/sort/selectionsort.go) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/Sorting/selection_sort.rb) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/SelectionSort.c) -- [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Sort/SelectionSort.scala) -- [JavaScript](https://github.com/TheAlgorithms/JavaScript/blob/master/Sorts/SelectionSort.js) - ## 영상 URL - [CS50](https://www.youtube.com/watch?v=f8hXR_Hvybo) diff --git "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\205\270 \354\240\225\353\240\254.md" "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\205\270 \354\240\225\353\240\254.md" index ec26cc5f..f13404cc 100644 --- "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\205\270 \354\240\225\353\240\254.md" +++ "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\205\270 \354\240\225\353\240\254.md" @@ -52,17 +52,6 @@ Initial Gap: 4 12. Divide the gap by 2 and repeat until gap = 1 ``` -## 구현 - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/Sorts/ShellSort.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Sorting/Shell%20Sort.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/shell_sort.py) -- [C#](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/ShellSorter.cs) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/sort/shellsort.go) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/Sorting/shell_sort.rb) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/shellSort.c) -- [JavaScript](https://github.com/TheAlgorithms/JavaScript/blob/master/Sorts/ShellSort.js) - ## 영상 URL - [Computer Education for All](https://www.youtube.com/watch?v=H8NiFkGu2PY) diff --git "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\355\200\265 \354\240\225\353\240\254.md" "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\355\200\265 \354\240\225\353\240\254.md" index e9ff369b..9acb9401 100644 --- "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\355\200\265 \354\240\225\353\240\254.md" +++ "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\355\200\265 \354\240\225\353\240\254.md" @@ -67,13 +67,6 @@ Now 70 is at its correct place. All elements smaller than it. ``` -## 구현 - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/Sorts/QuickSort.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Sorting/Quick%20Sort.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/quick_sort.py) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/quicksort.rb) - ## 영상 URL - [mycodeschool](https://www.youtube.com/watch?v=COk73cpQbFQ) diff --git "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\355\236\231 \354\240\225\353\240\254.md" "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\355\236\231 \354\240\225\353\240\254.md" index 446f16e4..68bc3fc3 100644 --- "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\355\236\231 \354\240\225\353\240\254.md" +++ "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\355\236\231 \354\240\225\353\240\254.md" @@ -53,16 +53,6 @@ $O(1)$ 최악의 경우 ![힙 이미지](https://upload.wikimedia.org/wikipedia/commons/1/1b/Sorting_heapsort_anim.gif) -## 구현 - -- [자바](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/HeapSort.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/heap_sort.cpp) -- [파이썬](https://github.com/TheAlgorithms/Python/blob/master/sorts/heap_sort.py) -- [루비](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/heap_sort.rb) -- [C-Sharp](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/HeapSorter.cs) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/heap_sort.c) -- [자바스크립트](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/HeapSort.js) - ## 영상 URL [힙 정렬 알고리즘에 대한 영상 설명](https://www.youtube.com/watch?v=MtQL_ll5KhQ) diff --git "a/ko/\355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230/\354\204\240\355\230\225 \355\203\220\354\203\211.md" "b/ko/\355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230/\354\204\240\355\230\225 \355\203\220\354\203\211.md" index 51c160b5..d024fdeb 100644 --- "a/ko/\355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230/\354\204\240\355\230\225 \355\203\220\354\203\211.md" +++ "b/ko/\355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230/\354\204\240\355\230\225 \355\203\220\354\203\211.md" @@ -44,11 +44,6 @@ target = 6 마지막 원소가 목표와 같지 않으므로 6이 배열에 들어있지 않다고 판단하여 -1을 반환한다. ``` -## 구현 - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/Searches/LinearSearch.java) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/searches/linear_search.py) - ## 영상 URL - [CS50](https://www.youtube.com/watch?v=CX2CYIJLwfg) diff --git "a/ko/\355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230/\354\235\264\354\247\204 \355\203\220\354\203\211.md" "b/ko/\355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230/\354\235\264\354\247\204 \355\203\220\354\203\211.md" index 59f7dc29..9e378db2 100644 --- "a/ko/\355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230/\354\235\264\354\247\204 \355\203\220\354\203\211.md" +++ "b/ko/\355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230/\354\235\264\354\247\204 \355\203\220\354\203\211.md" @@ -53,14 +53,6 @@ arr = [7] 유일한 원소가 목표와 같지 않으므로 9가 배열에 들어있지 않다고 판단하여 -1을 반환한다. ``` -## 구현 - -- [자바](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/searches/BinarySearch.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Search/Binary%20Search.cpp) -- [파이썬](https://github.com/TheAlgorithms/Python/blob/master/searches/binary_search.py) -- [C#](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Search/BinarySearcher.cs) -- [C](https://github.com/TheAlgorithms/C/blob/master/searching/Binary_Search.c) - ## 영상 URL - [CS50: 이진 탐색](https://www.youtube.com/watch?v=5xlIPT1FRcA) diff --git "a/ko/\355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230/\354\247\200\354\210\230 \355\203\220\354\203\211.md" "b/ko/\355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230/\354\247\200\354\210\230 \355\203\220\354\203\211.md" index 779d51ea..ff42267a 100644 --- "a/ko/\355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230/\354\247\200\354\210\230 \355\203\220\354\203\211.md" +++ "b/ko/\355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230/\354\247\200\354\210\230 \355\203\220\354\203\211.md" @@ -55,8 +55,3 @@ target = 998 - 이진 탐색은 배열의 중간부터 시작하여 많은 반복문을 지나야 4번째 원소에 도착한다. - 지수 탐색은 2번 만에 4번째 원소에 도착한다. - -## 구현 - -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/search/exponential_search.cpp) -- [JavaScript](https://github.com/TheAlgorithms/Javascript/blob/master/Search/ExponentialSearch.js) diff --git "a/ko/\355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230/\355\224\214\353\241\234\354\235\264\353\223\234 \354\210\234\355\231\230 \355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230.md" "b/ko/\355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230/\355\224\214\353\241\234\354\235\264\353\223\234 \354\210\234\355\231\230 \355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230.md" index 06c2738a..70162f38 100644 --- "a/ko/\355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230/\355\224\214\353\241\234\354\235\264\353\223\234 \354\210\234\355\231\230 \355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230.md" +++ "b/ko/\355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230/\355\224\214\353\241\234\354\235\264\353\223\234 \354\210\234\355\231\230 \355\203\220\354\203\211 \354\225\214\352\263\240\353\246\254\354\246\230.md" @@ -29,11 +29,6 @@ arr = [3, 4, 8, 5, 9, 1, 2, 6, 7, 4] return value = 4 ``` -## 구현 - -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/search/floyd_cycle_detection_algo.cpp) -- [C](https://github.com/TheAlgorithms/C/blob/master/searching/floyd_cycle_detection_algorithm.c) - ## 영상 URL - [플로이드 순환 탐색 알고리즘 유튜브 영상](https://www.youtube.com/watch?v=B6smdk7pZ14) diff --git a/pt-br/Algoritmos de Busca/Busca Binaria.md b/pt-br/Algoritmos de Busca/Busca Binaria.md index 5c08ec26..cd350166 100644 --- a/pt-br/Algoritmos de Busca/Busca Binaria.md +++ b/pt-br/Algoritmos de Busca/Busca Binaria.md @@ -40,14 +40,6 @@ alvo = 9 # A pesquisa binária deve retornar -1, pois 9 não está presente na matriz ``` -#### Links de implementação de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/searches/BinarySearch.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Search/Binary%20Search.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/searches/binary_search.py) -- [C-Sharp](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Search/BinarySearcher.cs) -- [C](https://github.com/TheAlgorithms/C/blob/master/searching/Binary_Search.c) - #### Explicação em vídeo [Um vídeo CS50 explicando o algoritmo de pesquisa binária](https://www.youtube.com/watch?v=5xlIPT1FRcA) diff --git a/pt-br/Algoritmos de Busca/Busca Linear.md b/pt-br/Algoritmos de Busca/Busca Linear.md index a918982d..5d6690e0 100644 --- a/pt-br/Algoritmos de Busca/Busca Linear.md +++ b/pt-br/Algoritmos de Busca/Busca Linear.md @@ -33,11 +33,6 @@ alvo = 6 # A pesquisa linear deve retornar -1, pois 6 não está presente na matriz ``` -#### Links de implementação de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/searches/LinearSearch.java) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/searches/linear_search.py) - #### Explicação em vídeo [Um vídeo CS50 explicando o algoritmo de pesquisa linear](https://www.youtube.com/watch?v=CX2CYIJLwfg) diff --git "a/pt-br/Algoritmos de Ordena\303\247\303\243o/Bubble Sort.md" "b/pt-br/Algoritmos de Ordena\303\247\303\243o/Bubble Sort.md" index 203a71b1..d4599dd9 100644 --- "a/pt-br/Algoritmos de Ordena\303\247\303\243o/Bubble Sort.md" +++ "b/pt-br/Algoritmos de Ordena\303\247\303\243o/Bubble Sort.md" @@ -79,18 +79,6 @@ arr[] = {10, 30, 40, 80} Como não há trocas nas etapas acima, isso significa que a matriz está classificada e podemos parar por aqui. ``` -#### Links de implementação de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/BubbleSort.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/bubble_sort.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/bubble_sort.py) -- [C-Sharp](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/BubbleSorter.cs) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/sort/bubblesort.go) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/bubble_sort.rb) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/bubble_sort.c) -- [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Sort/BubbleSort.scala) -- [Javascript](https://github.com/TheAlgorithms/JavaScript/blob/master/Sorts/BubbleSort.js) - #### Explicação em vídeo [Um vídeo explicando o algoritmo de classificação por bolha](https://www.youtube.com/watch?v=Jdtq5uKz-w4) diff --git "a/pt-br/Algoritmos de Ordena\303\247\303\243o/Heap Sort.md" "b/pt-br/Algoritmos de Ordena\303\247\303\243o/Heap Sort.md" index 2711232b..461cb947 100644 --- "a/pt-br/Algoritmos de Ordena\303\247\303\243o/Heap Sort.md" +++ "b/pt-br/Algoritmos de Ordena\303\247\303\243o/Heap Sort.md" @@ -55,17 +55,6 @@ O procedimento heapify chama a si mesmo recursivamente para construir heap de ci ![heap-image](https://upload.wikimedia.org/wikipedia/commons/1/1b/Sorting_heapsort_anim.gif "Heap Sort") -#### Links de implementação de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/HeapSort.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/heap_sort.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/heap_sort.py) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/sort/heapsort.go) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/heap_sort.rb) -- [C-sharp](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/HeapSorter.cs) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/heap_sort.c) -- [Javascript](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/HeapSort.js) - #### Explicação em vídeo [Um vídeo explicando o algoritmo de classificação por seleção](https://www.youtube.com/watch?v=MtQL_ll5KhQ) diff --git "a/pt-br/Algoritmos de Ordena\303\247\303\243o/Insertion Sort.md" "b/pt-br/Algoritmos de Ordena\303\247\303\243o/Insertion Sort.md" index 3ec6b5e1..4d85bda3 100644 --- "a/pt-br/Algoritmos de Ordena\303\247\303\243o/Insertion Sort.md" +++ "b/pt-br/Algoritmos de Ordena\303\247\303\243o/Insertion Sort.md" @@ -46,16 +46,6 @@ e os elementos de 11 a 13 se moverão uma posição à frente de sua posição a 5, 6, 11, 12, 13 - matriz classificada ``` -#### Links de implementação de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/InsertionSort.java) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/insertion_sort.c) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/insertion_sort.cpp) -- [C#](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/InsertionSorter.cs) -- [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Sort/InsertionSort.scala) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/insertion_sort.py) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/insertion_sort.rb) - #### Explicação em vídeo [Um vídeo CS50 explicando o algoritmo de pesquisa de inserção](https://www.youtube.com/watch?v=DFG-XuyPYUQ) diff --git "a/pt-br/Algoritmos de Ordena\303\247\303\243o/Merge Sort.md" "b/pt-br/Algoritmos de Ordena\303\247\303\243o/Merge Sort.md" index bdd774f0..a29a4285 100644 --- "a/pt-br/Algoritmos de Ordena\303\247\303\243o/Merge Sort.md" +++ "b/pt-br/Algoritmos de Ordena\303\247\303\243o/Merge Sort.md" @@ -31,12 +31,6 @@ Chame recursivamente a função merge sort para ambas as metades, o que fornecer Agora mescle as duas metades para obter a matriz classificada [0, 1, 2, 3, 5, 9] ``` -#### Links de implementação de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/MergeSort.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/merge_sort.cpp) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/merge_sort.rb) - #### Explicação em vídeo [Um vídeo CS50 explicando o algoritmo de classificação de mesclagem](https://www.youtube.com/watch?v=EeQ8pwjQxTM) diff --git "a/pt-br/Algoritmos de Ordena\303\247\303\243o/Quick Sort.md" "b/pt-br/Algoritmos de Ordena\303\247\303\243o/Quick Sort.md" index 2d2c9af6..765d5a27 100644 --- "a/pt-br/Algoritmos de Ordena\303\247\303\243o/Quick Sort.md" +++ "b/pt-br/Algoritmos de Ordena\303\247\303\243o/Quick Sort.md" @@ -67,13 +67,6 @@ Agora, 70 está em seu lugar correto. Todos os elementos menores que isto. ``` -#### Links de implementação de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/QuickSort.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Sorting/Quick%20Sort.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/quick_sort.py) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/quicksort.rb) - #### Explicação em vídeo [Um vídeo explicando o algoritmo de classificação rápida](https://www.youtube.com/watch?v=COk73cpQbFQ) diff --git "a/pt-br/Algoritmos de Ordena\303\247\303\243o/Selection Sort.md" "b/pt-br/Algoritmos de Ordena\303\247\303\243o/Selection Sort.md" index 939366d8..575bbc7d 100644 --- "a/pt-br/Algoritmos de Ordena\303\247\303\243o/Selection Sort.md" +++ "b/pt-br/Algoritmos de Ordena\303\247\303\243o/Selection Sort.md" @@ -47,17 +47,6 @@ Selecione o número mínimo da matriz (entre o índice 2-3), ou seja, 40 A matriz agora está classificada. ``` -#### Links de implementação de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/SelectionSort.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Sorting/Selection%20Sort.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/selection_sort.py) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/sort/selectionsort.go) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/Sorting/selection_sort.rb) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/SelectionSort.c) -- [Scala](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Sort/SelectionSort.scala) -- [Javascript](https://github.com/TheAlgorithms/JavaScript/blob/master/Sorts/SelectionSort.js) - #### Explicação em vídeo [Um vídeo explicando o algoritmo de classificação por seleção](https://www.youtube.com/watch?v=f8hXR_Hvybo) diff --git "a/pt-br/Algoritmos de Ordena\303\247\303\243o/Shell Sort.md" "b/pt-br/Algoritmos de Ordena\303\247\303\243o/Shell Sort.md" index 98696eef..535e7ecf 100644 --- "a/pt-br/Algoritmos de Ordena\303\247\303\243o/Shell Sort.md" +++ "b/pt-br/Algoritmos de Ordena\303\247\303\243o/Shell Sort.md" @@ -52,17 +52,6 @@ Lacuna inicial: 4 12. Divida a lacuna por 2 e repita até lacuna = 1 ``` -#### Links de implementação de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/ShellSort.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Sorting/Shell%20Sort.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/shell_sort.py) -- [C-Sharp](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/ShellSorter.cs) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/sort/shellsort.go) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/Sorting/shell_sort.rb) -- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/shellSort.c) -- [Javascript](https://github.com/TheAlgorithms/JavaScript/blob/master/Sorts/ShellSort.js) - #### Explicação em vídeo [Um vídeo explicando o algoritmo de classificação Shell](https://www.youtube.com/watch?v=H8NiFkGu2PY) diff --git a/pt-br/Estruturas de Dados/Graph/Bellman-Ford.md b/pt-br/Estruturas de Dados/Graph/Bellman-Ford.md index 52a31bd2..14beb730 100644 --- a/pt-br/Estruturas de Dados/Graph/Bellman-Ford.md +++ b/pt-br/Estruturas de Dados/Graph/Bellman-Ford.md @@ -86,13 +86,6 @@ D -2 A-> B-> E-> D = -1 + 2 + -3 E 1 A-> B-> E = -1 + 2 ``` -#### Links de implementação de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/datastructures/graphs/BellmanFord.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/dynamic_programming/bellman_ford.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/graphs/bellman_ford.py) -- [C](https://github.com/TheAlgorithms/C/blob/master/data_structures/graphs/bellman_ford.c) - #### Explicação em vídeo [Um vídeo explicando o Algoritmo Bellman-Ford](https://www.youtube.com/watch?v=hxMWBBCpR6A) diff --git a/pt-br/Estruturas de Dados/Linked Lists/Lista Duplamente Vinculada.md b/pt-br/Estruturas de Dados/Linked Lists/Lista Duplamente Vinculada.md index b17cfc55..dc09750d 100644 --- a/pt-br/Estruturas de Dados/Linked Lists/Lista Duplamente Vinculada.md +++ b/pt-br/Estruturas de Dados/Linked Lists/Lista Duplamente Vinculada.md @@ -102,14 +102,6 @@ comprimento interno; // opcional ! [Rastreamento de algoritmo](https://www.geeksforgeeks.org/wp-content/uploads/gq/2014/03/DLL_add_middle1.png) -## Links de implementação de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/datastructures/lists/DoublyLinkedList.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Data%20Structure/Doubly%20Linked%20List.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/data_structures/linked_list/doubly_linked_list.py) -- [Go](https://github.com/TheAlgorithms/Go/blob/master/data-structures/linked-list/double-linkedlist.go) -- [Ruby](https://github.com/TheAlgorithms/Ruby/blob/master/data_structures/linked_lists/double_list.rb) - ## Explicação em vídeo [Um vídeo CS50 explicando a estrutura de dados da lista duplamente vinculada](https://www.youtube.com/watch?v=FHMPswJDCvU) diff --git a/pt-br/Estruturas de Dados/Linked Lists/Lista individual.md b/pt-br/Estruturas de Dados/Linked Lists/Lista individual.md index ec7d3f74..d66044aa 100644 --- a/pt-br/Estruturas de Dados/Linked Lists/Lista individual.md +++ b/pt-br/Estruturas de Dados/Linked Lists/Lista individual.md @@ -37,12 +37,6 @@ class LinkedList { } ``` -## Links de implementação de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/datastructures/lists/SinglyLinkedList.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Data%20Structure/Linked%20List.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/data_structures/linked_list/singly_linked_list.py) - ## Explicação em vídeo [Um vídeo CS50 explicando a estrutura de dados da lista vinculada](https://www.youtube.com/watch?v=5nsKtQuT6E8) diff --git "a/pt-br/Matem\303\241tica B\303\241sica/M\303\251dia.md" "b/pt-br/Matem\303\241tica B\303\241sica/M\303\251dia.md" index 5ba6f38c..a6b173d0 100644 --- "a/pt-br/Matem\303\241tica B\303\241sica/M\303\251dia.md" +++ "b/pt-br/Matem\303\241tica B\303\241sica/M\303\251dia.md" @@ -58,10 +58,6 @@ Se considerarmos corretamente os dígitos significativos: `soma / contagem = 23` Retorne o valor de 22 ou `23`. -## Implementação - -- [Python](https://github.com/TheAlgorithms/Python/blob/master/maths/average_mean.py) - ## URL do vídeo - [Média na Khan Academy](https://www.khanacademy.org/math/ap-statistics/summarizing-quantitative-data-ap/measuring-center-quantitative/v/mean-median-and-mode) diff --git "a/pt-br/Programa\303\247\303\243o Din\303\242mica/Subsequencia Maxima - Maior Subsequencia Comum (LCS).md" "b/pt-br/Programa\303\247\303\243o Din\303\242mica/Subsequencia Maxima - Maior Subsequencia Comum (LCS).md" index 554c3b56..c2175d3f 100644 --- "a/pt-br/Programa\303\247\303\243o Din\303\242mica/Subsequencia Maxima - Maior Subsequencia Comum (LCS).md" +++ "b/pt-br/Programa\303\247\303\243o Din\303\242mica/Subsequencia Maxima - Maior Subsequencia Comum (LCS).md" @@ -79,12 +79,6 @@ B 0 0 1 2 3 Sendo o comprimento da maior subsequência comum igual a: `dp[4][4] = 3`. -#### Links de implementação de código - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/dynamicprogramming/LongestCommonSubsequence.java) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/dynamic_programming/longest_common_subsequence.py) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/Dynamic%20Programming/Longest%20Common%20Subsequence.cpp) - #### Explicação em vídeo - [Vídeo do canal OnlineBioinfo Bioinformática explicando sobre o algoritmo LCS](https://youtu.be/cX_hFqA8wDI) diff --git "a/pt-br/Programa\303\247\303\243o Din\303\242mica/Trocando moedas.md" "b/pt-br/Programa\303\247\303\243o Din\303\242mica/Trocando moedas.md" index 5144bdd5..763ee879 100644 --- "a/pt-br/Programa\303\247\303\243o Din\303\242mica/Trocando moedas.md" +++ "b/pt-br/Programa\303\247\303\243o Din\303\242mica/Trocando moedas.md" @@ -57,10 +57,6 @@ Digamos que temos 3 tipos de moeda `[1,2,3]` e queremos mudar para `7` centavos. Portanto, a resposta final é **8**. 8 maneiras de fazer troco de 7 centavos usando todos os tipos de moedas. `{{1,1,1,1,1,1,1}, {1,1,1,1,1,2}, {1,1,1,2,2}, {1,2,2,2}, {1,1,1,1,3}, {1,3,3}, {2,2,3}, {1,1,2,3}}` -#### Link de implementação de código - -[Python](https://github.com/TheAlgorithms/Python/blob/master/dynamic_programming/coin_change.py) - #### Explicação em vídeo [Total de maneiras exclusivas de fazer a mudança em back to back SWE](https://www.youtube.com/watch?v=DJ4a7cmjZY0) diff --git "a/ru/\320\220\320\273\320\263\320\276\321\200\320\270\321\202\320\274\321\213 \320\237\320\276\320\270\321\201\320\272\320\260/\320\221\320\270\320\275\320\260\321\200\320\275\321\213\320\271 \320\237\320\276\320\270\321\201\320\272.md" "b/ru/\320\220\320\273\320\263\320\276\321\200\320\270\321\202\320\274\321\213 \320\237\320\276\320\270\321\201\320\272\320\260/\320\221\320\270\320\275\320\260\321\200\320\275\321\213\320\271 \320\237\320\276\320\270\321\201\320\272.md" index a30caf0a..a35ed96c 100644 --- "a/ru/\320\220\320\273\320\263\320\276\321\200\320\270\321\202\320\274\321\213 \320\237\320\276\320\270\321\201\320\272\320\260/\320\221\320\270\320\275\320\260\321\200\320\275\321\213\320\271 \320\237\320\276\320\270\321\201\320\272.md" +++ "b/ru/\320\220\320\273\320\263\320\276\321\200\320\270\321\202\320\274\321\213 \320\237\320\276\320\270\321\201\320\272\320\260/\320\221\320\270\320\275\320\260\321\200\320\275\321\213\320\271 \320\237\320\276\320\270\321\201\320\272.md" @@ -40,14 +40,6 @@ target = 2 target = 9 ``` -#### Ссылки на реализации алгоритма - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/searches/BinarySearch.java) -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/search/binary_search.cpp) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/searches/binary_search.py) -- [C-Sharp](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Search/BinarySearcher.cs) -- [C](https://github.com/TheAlgorithms/C/blob/master/searching/binary_search.c) - #### Видео обзоры #### Визуальное представление diff --git "a/ru/\320\220\320\273\320\263\320\276\321\200\320\270\321\202\320\274\321\213 \320\241\320\276\321\200\321\202\320\270\321\200\320\276\320\262\320\272\320\270/\320\244\320\273\320\260\320\263 \320\235\320\270\320\264\320\265\321\200\320\273\320\260\320\275\320\264\320\276\320\262.md" "b/ru/\320\220\320\273\320\263\320\276\321\200\320\270\321\202\320\274\321\213 \320\241\320\276\321\200\321\202\320\270\321\200\320\276\320\262\320\272\320\270/\320\244\320\273\320\260\320\263 \320\235\320\270\320\264\320\265\321\200\320\273\320\260\320\275\320\264\320\276\320\262.md" index a14615a7..93fa214e 100644 --- "a/ru/\320\220\320\273\320\263\320\276\321\200\320\270\321\202\320\274\321\213 \320\241\320\276\321\200\321\202\320\270\321\200\320\276\320\262\320\272\320\270/\320\244\320\273\320\260\320\263 \320\235\320\270\320\264\320\265\321\200\320\273\320\260\320\275\320\264\320\276\320\262.md" +++ "b/ru/\320\220\320\273\320\263\320\276\321\200\320\270\321\202\320\274\321\213 \320\241\320\276\321\200\321\202\320\270\321\200\320\276\320\262\320\272\320\270/\320\244\320\273\320\260\320\263 \320\235\320\270\320\264\320\265\321\200\320\273\320\260\320\275\320\264\320\276\320\262.md" @@ -32,8 +32,3 @@ nums = [2, 0, 2, 1, 1, 0] print(dutch_flag_sort(nums)) # Output: [0, 0, 1, 1, 2, 2] ``` - -#### Ссылки на реализации алгоритма - -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/DutchNationalFlagSort.java) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/sorts/dutch_national_flag_sort.py) diff --git a/uz/Boshlang'ich Matematika/Fibonachi sonlari.md b/uz/Boshlang'ich Matematika/Fibonachi sonlari.md index 30ab542b..c65daca2 100644 --- a/uz/Boshlang'ich Matematika/Fibonachi sonlari.md +++ b/uz/Boshlang'ich Matematika/Fibonachi sonlari.md @@ -38,13 +38,6 @@ Fibonachi sonlarning 8chi hadini topishni ko'rib chiqamiz: f(8)=21 -## Fibonachi algoritmning dasturlash tillaridagi ko'rinishi: - -- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/math/fibonacci.cpp) -- [Java](https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/maths/FibonacciNumber.java) -- [Javascript](https://github.com/TheAlgorithms/Javascript/blob/80c2dc85d714f73783f133964d6acd9b5625ddd9/Maths/Fibonacci.js) -- [Python](https://github.com/TheAlgorithms/Python/blob/master/maths/fibonacci.py) - ## Video bog'ich - [YouTube](https://youtu.be/FQiRf4jb3PU) From 241a1540d085772c5b36a7f7434e65d94e7cd2fa Mon Sep 17 00:00:00 2001 From: vil02 Date: Fri, 5 Apr 2024 18:56:16 +0200 Subject: [PATCH 13/20] docs: use LaTeX support instead of external renderer --- ...3\223\261\353\271\204\354\210\230\354\227\264.md" | 10 +++++----- ...3\223\261\354\260\250\354\210\230\354\227\264.md" | 6 +++--- .../\354\236\220\353\246\277\354\210\230.md" | 2 +- ...4\225\214\352\263\240\353\246\254\354\246\230.md" | 12 ++++++------ .../\353\260\260\354\227\264.md" | 2 +- ...\262\260 \353\246\254\354\212\244\355\212\270.md" | 12 ++++++------ ...\262\260 \353\246\254\354\212\244\355\212\270.md" | 12 ++++++------ ...\263\204\354\210\230 \354\240\225\353\240\254.md" | 4 ++-- ...236\254\352\267\200 \353\262\204\354\240\204).md" | 6 +++--- ...\263\221\355\225\251 \354\240\225\353\240\254.md" | 4 ++-- ...\202\275\354\236\205 \354\240\225\353\240\254.md" | 10 +++++----- ...\204\240\355\203\235 \354\240\225\353\240\254.md" | 8 ++++---- .../\354\205\270 \354\240\225\353\240\254.md" | 10 +++++----- .../\355\200\265 \354\240\225\353\240\254.md" | 8 ++++---- 14 files changed, 53 insertions(+), 53 deletions(-) diff --git "a/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\353\223\261\353\271\204\354\210\230\354\227\264.md" "b/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\353\223\261\353\271\204\354\210\230\354\227\264.md" index 663d61c3..2d1a571f 100644 --- "a/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\353\223\261\353\271\204\354\210\230\354\227\264.md" +++ "b/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\353\223\261\353\271\204\354\210\230\354\227\264.md" @@ -23,7 +23,7 @@ **등비수열의 n번째 항 공식:** -가 초항, 이 공비일 때, 번째 항은: +$a$가 초항, $r$이 공비일 때, $n$번째 항은:

@@ -37,11 +37,11 @@ **등비수열에 관련된 문제를 풀기 위한 일반적인 공식:** -가 초항, 이 공비일 때: +$a$가 초항, $r$이 공비일 때: -- 등비급수 (r < 1) = -- 등비급수 (r > 1) = -- 무한등비급수 (r < 1) = +- 등비급수 $(r < 1) = \frac{a(1-r^n)}{1-r}$ +- 등비급수 $(r > 1) = \frac{a(r^n-1)}{r-1}$ +- 무한등비급수 $(r < 1) = \frac{a}{1-r}$ ## 영상 URL diff --git "a/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\353\223\261\354\260\250\354\210\230\354\227\264.md" "b/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\353\223\261\354\260\250\354\210\230\354\227\264.md" index 03a96763..23ac8ad7 100644 --- "a/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\353\223\261\354\260\250\354\210\230\354\227\264.md" +++ "b/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\353\223\261\354\260\250\354\210\230\354\227\264.md" @@ -16,7 +16,7 @@ **등차수열의 n번째 항 공식:** -가 초항, 가 공차일 때, 번째 항은: +$a$가 초항, $d$가 공차일 때, $n$번째 항은:

@@ -30,10 +30,10 @@ **등차수열에 관련된 물제를 풀기 위한 일반적인 공식:** -가 초항, 가 공차일 때: +$a$가 초항, $d$가 공차일 때: - 산술평균 = `전체 항의 합 / 항의 개수` -- 등차급수 = `n * (초항 + 말항) / 2` = +- 등차급수 = `n * (초항 + 말항) / 2` = $\frac{n \cdot (2a + (n-1)d)}{2}$ ## 영상 URL diff --git "a/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\354\236\220\353\246\277\354\210\230.md" "b/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\354\236\220\353\246\277\354\210\230.md" index 09c2f4fe..114be2d0 100644 --- "a/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\354\236\220\353\246\277\354\210\230.md" +++ "b/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\354\236\220\353\246\277\354\210\230.md" @@ -24,7 +24,7 @@ N = 10000 [양수] 3. N을 10으로 나눈다. 4. N이 0이 될 때까지 위의 과정을 반복한다. -**알고리즘 분석:** 위 방법에서 수행되는 작업의 수는 숫자 N의 자릿수와 같다는 사실을 쉽게 알 수 있다. 따라서 이 방법의 시간 복잡도는 이다. (는 숫자 N의 자릿수) +**알고리즘 분석:** 위 방법에서 수행되는 작업의 수는 숫자 N의 자릿수와 같다는 사실을 쉽게 알 수 있다. 따라서 이 방법의 시간 복잡도는 $O(d)$이다. ($d$는 숫자 N의 자릿수) **모의 실행:** `N = 58964`라고 할 때, diff --git "a/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\352\267\270\353\236\230\355\224\204/\353\262\250\353\250\274-\355\217\254\353\223\234 \354\225\214\352\263\240\353\246\254\354\246\230.md" "b/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\352\267\270\353\236\230\355\224\204/\353\262\250\353\250\274-\355\217\254\353\223\234 \354\225\214\352\263\240\353\246\254\354\246\230.md" index 037c182b..a5f41609 100644 --- "a/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\352\267\270\353\236\230\355\224\204/\353\262\250\353\250\274-\355\217\254\353\223\234 \354\225\214\352\263\240\353\246\254\354\246\230.md" +++ "b/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\352\267\270\353\236\230\355\224\204/\353\262\250\353\250\274-\355\217\254\353\223\234 \354\225\214\352\263\240\353\246\254\354\246\230.md" @@ -2,15 +2,15 @@ ## 문제 -방향 가중치 그래프 와 시작점 가 주어졌을 때, 각 점 에 대하여 를 잇는 가장 짧은 경로를 구하라. (는 꼭짓점의 집합, 는 간선의 집합) +방향 가중치 그래프 $G(V, E)$와 시작점 $s \in V$가 주어졌을 때, 각 점 $v \in V$에 대하여 $s$와 $v$를 잇는 가장 짧은 경로를 구하라. ($V$는 꼭짓점의 집합, $E$는 간선의 집합) ## 절차 1. 시작점에서 모든 꼭짓점까지의 거리를 무한대로 초기화한다. 2. 시작점으로의 거리를 0으로 초기화한다. -3. `dist[s]`를 제외한 모든 값을 무한대로 하는 크기가 인 `dist`라는 배열을 만든다. -4. 다음을 회 반복한다. -5. 에 속한 모든 간선 `(u,v)`에 대해 다음을 반복한다: +3. `dist[s]`를 제외한 모든 값을 무한대로 하는 크기가 $|V|$인 `dist`라는 배열을 만든다. +4. 다음을 $|V|-1$회 반복한다. +5. $E$에 속한 모든 간선 `(u,v)`에 대해 다음을 반복한다: ``` dist[v] = minimum(dist[v], dist[u] + weight of edge) @@ -20,11 +20,11 @@ ## 시간 복잡도 - +$O(VE)$ ## 공간 복잡도 - +$O(V^2)$ ## 만든 사람 diff --git "a/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\353\260\260\354\227\264/\353\260\260\354\227\264.md" "b/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\353\260\260\354\227\264/\353\260\260\354\227\264.md" index 35612e38..78536127 100644 --- "a/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\353\260\260\354\227\264/\353\260\260\354\227\264.md" +++ "b/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\353\260\260\354\227\264/\353\260\260\354\227\264.md" @@ -2,7 +2,7 @@ 배열은 프로그래밍에서 가장 기본적인 데이터 구조이다. 배열은 정적 배열과 동적 배열로 나눠진다. 정적 배열은 요소의 수가 고정되어 있고, 각각은 메모리의 동일한 공간을 차지한다. 즉, 정적 배열이 차지하는 메모리는 컴파일 시간에 결정되지만, 동적 배열의 경우 크기가 고정되지 않는다. -배열 요소의 값은 시간 안에 검색할 수 있다. +배열 요소의 값은 $O(1)$ 시간 안에 검색할 수 있다. 모든 배열은 연속된 메모리 주소를 가진다. 우리는 인덱스로 각 요소에 접근할 수 있다. 가장 낮은 인덱스는 첫 요소에 해당하고 가장 높은 인덱스는 마지막 요소에 해당한다. diff --git "a/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\353\213\250\354\235\274 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" "b/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\353\213\250\354\235\274 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" index b4057b57..d07fe863 100644 --- "a/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\353\213\250\354\235\274 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" +++ "b/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\353\213\250\354\235\274 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" @@ -14,12 +14,12 @@ ### 시간 복잡도 -| 작업 | 평균 | 최악 | -| ---- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | -| 접근 | | | -| 탐색 | | | -| 삽입 | | | -| 제거 | | | +| 작업 | 평균 | 최악 | +| --- | ------ | ------ | +| 접근 | $O(n)$ | $O(n)$ | +| 탐색 | $O(n)$ | $O(n)$ | +| 삽입 | $O(1)$ | $O(1)$ | +| 제거 | $O(1)$ | $O(1)$ | ## 예시 diff --git "a/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\354\235\264\354\244\221 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" "b/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\354\235\264\354\244\221 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" index d91fda96..df89bcec 100644 --- "a/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\354\235\264\354\244\221 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" +++ "b/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\354\235\264\354\244\221 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" @@ -18,12 +18,12 @@ ### 시간 복잡도 -| 작업 | 평균 | 최악 | -| ---- | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | -| 접근 | | | -| 탐색 | | | -| 삽입 | | | -| 제거 | | | +| 작업 | 평균 | 최악 | +| --- | ----------- | ------ | +| 접근 | $\Theta(n)$ | $O(n)$ | +| 탐색 | $\Theta(n)$ | $O(n)$ | +| 삽입 | $\Theta(1)$ | $O(1)$ | +| 제거 | $\Theta(1)$ | $O(1)$ | ## 예시 diff --git "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\352\263\204\354\210\230 \354\240\225\353\240\254.md" "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\352\263\204\354\210\230 \354\240\225\353\240\254.md" index 180ef9db..4f53712e 100644 --- "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\352\263\204\354\210\230 \354\240\225\353\240\254.md" +++ "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\352\263\204\354\210\230 \354\240\225\353\240\254.md" @@ -15,11 +15,11 @@ n개 원소로 구성된 배열이 주어졌을 때, 이 배열을 정렬하는 ## 시간 복잡도 -- (는 음수가 아닌 key 값의 범위) +- $O(n+k)$ ($k$는 음수가 아닌 key 값의 범위) ## 공간 복잡도 -- (는 음수가 아닌 key 값의 범위) +- $O(n+k)$ ($k$는 음수가 아닌 key 값의 범위) ## 만든 사람 diff --git "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\262\204\353\270\224 \354\240\225\353\240\254 (\354\236\254\352\267\200 \353\262\204\354\240\204).md" "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\262\204\353\270\224 \354\240\225\353\240\254 (\354\236\254\352\267\200 \353\262\204\354\240\204).md" index c4bf95dd..2c65b559 100644 --- "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\262\204\353\270\224 \354\240\225\353\240\254 (\354\236\254\352\267\200 \353\262\204\354\240\204).md" +++ "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\262\204\353\270\224 \354\240\225\353\240\254 (\354\236\254\352\267\200 \353\262\204\354\240\204).md" @@ -12,12 +12,12 @@ Base case: If the size of the array is 1, return. ## 시간 복잡도 -- 최선: -- 평균: +- 최선: $O(n)$ +- 평균: $O(n^2)$ ## 공간 복잡도 -- 최악: (참고: 기존 버블 정렬의 공간 복잡도는 ) +- 최악: $O(n)$ (참고: 기존 버블 정렬의 공간 복잡도는 $O(1)$) ## 예시 diff --git "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\263\221\355\225\251 \354\240\225\353\240\254.md" "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\263\221\355\225\251 \354\240\225\353\240\254.md" index 14bf3b52..905846b3 100644 --- "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\263\221\355\225\251 \354\240\225\353\240\254.md" +++ "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\353\263\221\355\225\251 \354\240\225\353\240\254.md" @@ -12,11 +12,11 @@ n개 원소로 구성된 배열이 주어졌을 때, 이 배열을 정렬하는 ## 시간 복잡도 -- +- $O(n \log n)$ ## 공간 복잡도 -- +- $O(n)$ ## 예시 diff --git "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\202\275\354\236\205 \354\240\225\353\240\254.md" "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\202\275\354\236\205 \354\240\225\353\240\254.md" index 74a9f5b2..7b9b3310 100644 --- "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\202\275\354\236\205 \354\240\225\353\240\254.md" +++ "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\202\275\354\236\205 \354\240\225\353\240\254.md" @@ -14,15 +14,15 @@ n개 원소로 구성된 배열이 주어졌을 때, 이 배열을 정렬하는 ## 시간 복잡도 - 최악 - - 비교: - - 교환: + - 비교: $O(n^2)$ + - 교환: $O(n^2)$ - 최선 - - 비교: - - 교환: + - 비교: $O(n)$ + - 교환: $O(1)$ ## 공간 복잡도 -- 최악: ([In-place 알고리즘](https://en.wikipedia.org/wiki/In-place_algorithm)으로, 추가적인 메모리 할당이 필요하지 않다) +- 최악: $O(1)$ ([In-place 알고리즘](https://en.wikipedia.org/wiki/In-place_algorithm)으로, 추가적인 메모리 할당이 필요하지 않다) ## 예시 diff --git "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\204\240\355\203\235 \354\240\225\353\240\254.md" "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\204\240\355\203\235 \354\240\225\353\240\254.md" index 28040c6d..1f81c92a 100644 --- "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\204\240\355\203\235 \354\240\225\353\240\254.md" +++ "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\204\240\355\203\235 \354\240\225\353\240\254.md" @@ -15,13 +15,13 @@ n개 원소로 구성된 배열이 주어졌을 때, 이 배열을 정렬하는 ## 시간 복잡도 -- 최악: -- 최선: -- 평균: +- 최악: $O(n^2)$ +- 최선: $O(n^2)$ +- 평균: $O(n^2)$ ## 공간 복잡도 -- 최악: +- 최악: $O(1)$ ## 예시 diff --git "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\205\270 \354\240\225\353\240\254.md" "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\205\270 \354\240\225\353\240\254.md" index f13404cc..81efb901 100644 --- "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\205\270 \354\240\225\353\240\254.md" +++ "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\354\205\270 \354\240\225\353\240\254.md" @@ -14,15 +14,15 @@ n개 원소로 구성된 배열이 주어졌을 때, 이 배열을 정렬하는 ## 시간 복잡도 -셸 정렬의 시간 복잡도는 gap sequences에 따라 다르다. 아래 시간 복잡도는 의 gap sequences를 가정한다. +셸 정렬의 시간 복잡도는 gap sequences에 따라 다르다. 아래 시간 복잡도는 $(\frac{n}{2})^k$의 gap sequences를 가정한다. -- 최악: -- 최선: -- 평균: +- 최악: $O(n^2)$ +- 최선: $O(n)$ +- 평균: $O(n^2)$ ## 공간 복잡도 -- 최악: +- 최악: $O(1)$ ## 만든 사람 diff --git "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\355\200\265 \354\240\225\353\240\254.md" "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\355\200\265 \354\240\225\353\240\254.md" index 9acb9401..07a8c779 100644 --- "a/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\355\200\265 \354\240\225\353\240\254.md" +++ "b/ko/\354\240\225\353\240\254 \354\225\214\352\263\240\353\246\254\354\246\230/\355\200\265 \354\240\225\353\240\254.md" @@ -13,13 +13,13 @@ n개 원소로 구성된 배열이 주어졌을 때, 이 배열을 정렬하는 ## 시간 복잡도 -- 최악: -- 최선: -- 평균: +- 최악: $O(n^2)$ +- 최선: $O(n \log n)$ +- 평균: $O(n \log n)$ ## 공간 복잡도 -- 최악: +- 최악: $O(\log n)$ ## 만든 사람 From 089b1e18f89dc5d539e13200db23b50900cb19a8 Mon Sep 17 00:00:00 2001 From: Piotr Idzik <65706193+vil02@users.noreply.github.com> Date: Sat, 6 Apr 2024 21:14:51 +0200 Subject: [PATCH 14/20] docs: fix broken links to binary search --- en/Search Algorithms/Exponential Search.md | 4 ++-- .../B\303\272squeda exponencial.md" | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/en/Search Algorithms/Exponential Search.md b/en/Search Algorithms/Exponential Search.md index bca641ab..3530b2c5 100644 --- a/en/Search Algorithms/Exponential Search.md +++ b/en/Search Algorithms/Exponential Search.md @@ -2,7 +2,7 @@ #### Prerequisites -- [Binary Search algorithm](https://github.com/faridevnz/Algorithms-Explanation/blob/master/en/Search%20Algorithms/Binary%20Search.md) +- [Binary Search algorithm](Binary%20Search.md) #### Problem Statement @@ -39,7 +39,7 @@ Now we can apply the binary search on the subarray from 512 and 1_000. #### Complexity Explanation - The complexity of the first part of the algorithm is **O( log *i* )** because if *i* is the position of the target in the array, after doubling the search *index* `⌈log(i)⌉` times, the algorithm will be at a search index that is greater than or equal to *i*. We can write `2^⌈log(i)⌉ >= i` -- The complexity of the second part of the algorithm also is **O ( log *i* )** because that is a simple Binary Search. The Binary Search complexity ( as explained [here](https://github.com/faridevnz/Algorithms-Explanation/blob/master/en/Search%20Algorithms/Binary%20Search.md) ) is O( *n* ) where *n* is the length of the array. In the Exponential Search, the length of the array on which the algorithm is applied is `2^i - 2^(i-1)`, put into words it means '( the length of the array from start to *i* ) - ( the part of array skipped until the previous iteration )'. Is simple verify that `2^i - 2^(i-1) = 2^(i-1) ` +- The complexity of the second part of the algorithm also is **O ( log *i* )** because that is a simple Binary Search. The Binary Search complexity ( as explained [here](Binary%20Search.md) ) is O( *n* ) where *n* is the length of the array. In the Exponential Search, the length of the array on which the algorithm is applied is `2^i - 2^(i-1)`, put into words it means '( the length of the array from start to *i* ) - ( the part of array skipped until the previous iteration )'. Is simple verify that `2^i - 2^(i-1) = 2^(i-1) ` After this detailed explanation we can say that the the complexity of the Exponential Search is: diff --git "a/es/Algoritmos de b\303\272squeda/B\303\272squeda exponencial.md" "b/es/Algoritmos de b\303\272squeda/B\303\272squeda exponencial.md" index 3dad7976..dbddf8c1 100644 --- "a/es/Algoritmos de b\303\272squeda/B\303\272squeda exponencial.md" +++ "b/es/Algoritmos de b\303\272squeda/B\303\272squeda exponencial.md" @@ -2,7 +2,7 @@ #### Requisitos previos -- [Algoritmo de búsqueda binaria](https://github.com/faridevnz/Algorithms-Explicación/blob/master/en/Search%20Algorithms/Binary%20Search.md) +- [Algoritmo de búsqueda binaria](Búsqueda%20binaria.md) #### Declaración de problema @@ -39,7 +39,7 @@ Ahora podemos aplicar la búsqueda binaria en el subarray de 512 y 1_000. #### Explicación de complejidad - La complejidad de la primera parte del algoritmo es **`O( log *i* )`** porque si *i* es la posición del destino en la matriz, después de duplicar la búsqueda *index* `⌈log(i)⌉` veces, el algoritmo estará en un índice de búsqueda que es mayor o igual que *i*. Podemos escribir `2^⌈log(i)⌉ >= i` -- La complejidad de la segunda parte del algoritmo también es **`O ( log *i* )`** porque se trata de una simple búsqueda binaria. La complejidad de búsqueda binaria ( como se explica [aquí](https://github.com/faridevnz/Algorithms-Explicación/blob/master/en/Search%20Algorithms/Binary%20Search.md) ) es `O(*n*)` donde *n* es la longitud de la matriz. En la búsqueda exponencial, la longitud de la matriz en la que se aplica el algoritmo es `2^i - 2^(i-1)`, en palabras significa `(la longitud de la matriz de principio a *i* ) - (la parte de matriz omitida hasta la iteración anterior)`. Es simple verificar que `2^i - 2^(i-1) = 2^(i-1)`. +- La complejidad de la segunda parte del algoritmo también es **`O ( log *i* )`** porque se trata de una simple búsqueda binaria. La complejidad de búsqueda binaria ( como se explica [aquí](Búsqueda%20binaria.md) ) es `O(*n*)` donde *n* es la longitud de la matriz. En la búsqueda exponencial, la longitud de la matriz en la que se aplica el algoritmo es `2^i - 2^(i-1)`, en palabras significa `(la longitud de la matriz de principio a *i* ) - (la parte de matriz omitida hasta la iteración anterior)`. Es simple verificar que `2^i - 2^(i-1) = 2^(i-1)`. Después de esta explicación detallada, podemos decir que la complejidad de la búsqueda exponencial es: From f76f185fd89f47243d84a591795d822123644ea3 Mon Sep 17 00:00:00 2001 From: Piotr Idzik <65706193+vil02@users.noreply.github.com> Date: Mon, 8 Apr 2024 11:02:14 +0200 Subject: [PATCH 15/20] docs: fix broken link to the license file (#236) --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ed8e4534..c48f48a8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,7 +4,7 @@ Contributions must be all your own work; plagiarism is not allowed. By submitting a pull request, you agree to license your contribution -under the [license of this repository](https://github.com/TheAlgorithms/Algorithms-Explanation/blob/master/LICENSE.md). +under the [license of this repository](./LICENSE.txt). ## Translations From 6ad0d2a3ec9d3d114d5c8db45687bb559cae777b Mon Sep 17 00:00:00 2001 From: vil02 Date: Tue, 9 Apr 2024 18:55:15 +0200 Subject: [PATCH 16/20] docs: update Khan Academy link --- en/Basic Math/Average_Mean.md | 2 +- "es/Matematicas B\303\241sico/Promedio.md" | 2 +- .../\355\217\211\352\267\240\352\260\222.md" | 2 +- "pt-br/Matem\303\241tica B\303\241sica/M\303\251dia.md" | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/en/Basic Math/Average_Mean.md b/en/Basic Math/Average_Mean.md index f31972d5..5eacce57 100644 --- a/en/Basic Math/Average_Mean.md +++ b/en/Basic Math/Average_Mean.md @@ -59,7 +59,7 @@ Return the value of 22.857142 or `23`. ## Video URL -- [Mean on Khan Academy](https://www.khanacademy.org/math/ap-statistics/summarizing-quantitative-data-ap/measuring-center-quantitative/v/mean-median-and-mode) +- [Mean on Khan Academy](https://www.khanacademy.org/math/cc-sixth-grade-math/cc-6th-data-statistics/mean-and-median/v/mean-median-and-mode) ## Others diff --git "a/es/Matematicas B\303\241sico/Promedio.md" "b/es/Matematicas B\303\241sico/Promedio.md" index 6735c765..02d3801f 100644 --- "a/es/Matematicas B\303\241sico/Promedio.md" +++ "b/es/Matematicas B\303\241sico/Promedio.md" @@ -60,7 +60,7 @@ Devuelva el valor de 22. 857142 o `23`. ## Video en YouTube -- [Media en Khan Academy](https://www.khanacademy.org/math/ap-statistics/summarizing-quantitative-data-ap/measuring-center-quantitative/v/mean-media-and-mode) +- [Media en Khan Academy](https://www.khanacademy.org/math/cc-sixth-grade-math/cc-6th-data-statistics/mean-and-median/v/mean-median-and-mode) ## Otros diff --git "a/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\355\217\211\352\267\240\352\260\222.md" "b/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\355\217\211\352\267\240\352\260\222.md" index e78aa369..553fcacf 100644 --- "a/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\355\217\211\352\267\240\352\260\222.md" +++ "b/ko/\352\270\260\354\264\210 \354\210\230\355\225\231/\355\217\211\352\267\240\352\260\222.md" @@ -57,7 +57,7 @@ count = 7 ## 영상 URL -- [Khan Academy](https://www.khanacademy.org/math/ap-statistics/summarizing-quantitative-data-ap/measuring-center-quantitative/v/mean-median-and-mode) +- [Khan Academy](https://www.khanacademy.org/math/cc-sixth-grade-math/cc-6th-data-statistics/mean-and-median/v/mean-median-and-mode) ## 기타 diff --git "a/pt-br/Matem\303\241tica B\303\241sica/M\303\251dia.md" "b/pt-br/Matem\303\241tica B\303\241sica/M\303\251dia.md" index a6b173d0..40193b9f 100644 --- "a/pt-br/Matem\303\241tica B\303\241sica/M\303\251dia.md" +++ "b/pt-br/Matem\303\241tica B\303\241sica/M\303\251dia.md" @@ -60,7 +60,7 @@ Retorne o valor de 22 ou `23`. ## URL do vídeo -- [Média na Khan Academy](https://www.khanacademy.org/math/ap-statistics/summarizing-quantitative-data-ap/measuring-center-quantitative/v/mean-median-and-mode) +- [Média na Khan Academy](https://www.khanacademy.org/math/cc-sixth-grade-math/cc-6th-data-statistics/mean-and-median/v/mean-median-and-mode) ## Outros From a4f91d17f0c4f34649e6f68a78a3473d36864be8 Mon Sep 17 00:00:00 2001 From: Piotr Idzik <65706193+vil02@users.noreply.github.com> Date: Wed, 10 Apr 2024 23:21:52 +0200 Subject: [PATCH 17/20] docs: update the link to tutorialhorizon about circular linked list (#239) --- en/Data Structures/Linked Lists/Circular Linked List.md | 2 +- ...227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/en/Data Structures/Linked Lists/Circular Linked List.md b/en/Data Structures/Linked Lists/Circular Linked List.md index bf5d5081..ab86a80e 100644 --- a/en/Data Structures/Linked Lists/Circular Linked List.md +++ b/en/Data Structures/Linked Lists/Circular Linked List.md @@ -37,7 +37,7 @@ The Linked List has a ```pointer``` to the adjacent elements but the last node i ### SLL v.s. CLL -![image](https://i0.wp.com/algorithms.tutorialhorizon.com/files/2016/03/Circular-Linked-List.png) +![image](https://tutorialhorizon.com/static/media/algorithms/2016/03/Circular-Linked-List.png) ### Example diff --git "a/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\354\233\220\355\230\225 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" "b/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\354\233\220\355\230\225 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" index d2c798d6..5e956227 100644 --- "a/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\354\233\220\355\230\225 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" +++ "b/ko/\354\236\220\353\243\214\352\265\254\354\241\260/\354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270/\354\233\220\355\230\225 \354\227\260\352\262\260 \353\246\254\354\212\244\355\212\270.md" @@ -37,7 +37,7 @@ ### SLL v.s. CLL -![영상](https://i0.wp.com/algorithms.tutorialhorizon.com/files/2016/03/Circular-Linked-List.png) +![영상](https://tutorialhorizon.com/static/media/algorithms/2016/03/Circular-Linked-List.png) ### 예시 From e34a629b958595d84d2a9250c8feff1afa45ba8a Mon Sep 17 00:00:00 2001 From: Piotr Idzik <65706193+vil02@users.noreply.github.com> Date: Wed, 10 Apr 2024 23:22:51 +0200 Subject: [PATCH 18/20] docs: remove dead link about LCS (#240) --- .../Subsequencia Maxima - Maior Subsequencia Comum (LCS).md" | 1 - 1 file changed, 1 deletion(-) diff --git "a/pt-br/Programa\303\247\303\243o Din\303\242mica/Subsequencia Maxima - Maior Subsequencia Comum (LCS).md" "b/pt-br/Programa\303\247\303\243o Din\303\242mica/Subsequencia Maxima - Maior Subsequencia Comum (LCS).md" index c2175d3f..8535f49b 100644 --- "a/pt-br/Programa\303\247\303\243o Din\303\242mica/Subsequencia Maxima - Maior Subsequencia Comum (LCS).md" +++ "b/pt-br/Programa\303\247\303\243o Din\303\242mica/Subsequencia Maxima - Maior Subsequencia Comum (LCS).md" @@ -82,4 +82,3 @@ Sendo o comprimento da maior subsequência comum igual a: `dp[4][4] = 3`. #### Explicação em vídeo - [Vídeo do canal OnlineBioinfo Bioinformática explicando sobre o algoritmo LCS](https://youtu.be/cX_hFqA8wDI) -- [Video de analise do algoritmo pelo canal Delacyr Ferreira](https://youtu.be/wnq0SqzjbNU) \ No newline at end of file From d85472b6ae674c7dbbc034809c51526bc7ca2793 Mon Sep 17 00:00:00 2001 From: Piotr Idzik <65706193+vil02@users.noreply.github.com> Date: Wed, 10 Apr 2024 23:28:51 +0200 Subject: [PATCH 19/20] docs: fix broken link to gitter (#237) --- .github/workflows/stale.yml | 4 ++-- README.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 93befa6c..bda5bfac 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -9,9 +9,9 @@ jobs: - uses: actions/stale@v4 with: stale-issue-message: 'This issue has been automatically marked as abandoned because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.' - close-issue-message: 'Please ping one of the maintainers once you add more information and updates here. If this is not the case and you need some help, feel free to ask for help in our [Gitter](https://gitter.im/TheAlgorithms) channel. Thank you for your contributions!' + close-issue-message: 'Please ping one of the maintainers once you add more information and updates here. If this is not the case and you need some help, feel free to ask for help in our [Gitter](https://gitter.im/TheAlgorithms/community) channel. Thank you for your contributions!' stale-pr-message: 'This pull request has been automatically marked as abandoned because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.' - close-pr-message: 'Please ping one of the maintainers once you commit the changes requested or make improvements on the code. If this is not the case and you need some help, feel free to ask for help in our [Gitter](https://gitter.im/TheAlgorithms) channel. Thank you for your contributions!' + close-pr-message: 'Please ping one of the maintainers once you commit the changes requested or make improvements on the code. If this is not the case and you need some help, feel free to ask for help in our [Gitter](https://gitter.im/TheAlgorithms/community) channel. Thank you for your contributions!' exempt-issue-labels: 'dont-close,approved' exempt-pr-labels: 'dont-close,approved' days-before-stale: 30 diff --git a/README.md b/README.md index e1c8e5ab..f9520d85 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Algorithms explanation -[![Gitter chat](https://img.shields.io/badge/Chat-Gitter-ff69b4.svg?label=Chat&logo=gitter&style=flat-square)](https://gitter.im/TheAlgorithms)  +[![Gitter chat](https://img.shields.io/badge/Chat-Gitter-ff69b4.svg?label=Chat&logo=gitter&style=flat-square)](https://gitter.im/TheAlgorithms/community)  [![contributions welcome](https://img.shields.io/static/v1.svg?label=Contributions&message=Welcome&color=0059b3&style=flat-square)](https://github.com/TheAlgorithms/Ruby/blob/master/CONTRIBUTING.md)  ![Repository size](https://img.shields.io/github/repo-size/TheAlgorithms/Algorithms-Explanation.svg?label=Repo%20size&style=flat-square)  [![Discord chat](https://img.shields.io/discord/808045925556682782.svg?logo=discord&colorB=5865F2&style=flat-square)](https://discord.gg/c7MnfGFGa6) From bbfce50b37c6be54d3c8b6b940e962fa6d864740 Mon Sep 17 00:00:00 2001 From: Piotr Idzik <65706193+vil02@users.noreply.github.com> Date: Wed, 10 Apr 2024 23:29:53 +0200 Subject: [PATCH 20/20] chore: fail `url_check` when broken links are found (#241) --- .github/workflows/url_check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/url_check.yml b/.github/workflows/url_check.yml index 4e28798a..6533f676 100644 --- a/.github/workflows/url_check.yml +++ b/.github/workflows/url_check.yml @@ -24,5 +24,5 @@ jobs: args: > --no-progress * - fail: false + fail: true ...