# Geeeks - A simple and helpful package
Install/Upgrade our package
```
pip install geeeks # install
pip install --upgrade geeeks # upgrade
```
## String Functions
1. Reverse String: reverse(string)
```
from geeeks import StringFunctions as sf
my_string = "AnyRandomString"
rev = sf.reverse(my_string)
print(rev)
# Output: gnirtSmodnaRynA
```
2. Make Link: make_link(string)
```
from geeeks import StringFunctions as sf
my_string = "Any Random String"
link = sf.make_link(my_string)
print(link)
# Output: any-random-string
```
3. Swap Case: swap_case(string)
```
from geeeks import StringFunctions as sf
my_string = "Any Random String"
swap = sf.swap_case(my_string)
print(swap) # Output: aNY rANDOM sTRING
```
4. Make Chunks: make_chunks(string,k)
```
from geeeks import StringFunctions as sf
my_string = "ABCDEFGHI"
k = 3
print(sf.make_chunks(my_string,k))
# Output: ['ABC','DEF','GHI']
```
## Encryption & Decryption Techniques
1. Caesar Cipher: caesarCipher(s=string(), key=int())
```
from geeeks import Encryption as encrypt
from geeeks import Decryption as decrypt
string = "this-is-my-secret-message"
key = 4
cipher = encrypt.caesarCipher(string, key)
print(cipher) # Output: xlmw-mw-qc-wigvix-qiwweki
message = decrypt.caesarCipher(cipher, key)
print(message) # Output: this-is-my-secret-message
```
## Advance Algorithms
### Divide & Conquer Algorithms
This package (geeeks.DnC_Algo) contains the following functions:
* binary_search(arr, x, low, high)
* bubble_sort(arr)
* merge_sort(arr, low, high)
* min_max(arr, low, high)
* quick_sort(arr, low, high)
1. Binary Search
```
from geeeks import DnC_Algo as dnc
arr = [1,2,3,4,5]
x = 4 # Element to search
low = 0 # lowest index
high = len(arr)-1 # maximum index
res = dnc.binary_search(arr, x, low, high)
if res != -1:
print(f"Element is present at index: {res}")
else:
print("Element is not present in array!")
```
2. Bubble Sort
```
from geeeks import DnC_Algo as dnc
arr = [12,9,87,6,43,55,34]
print(dnc.bubble_sort(arr))
```
3. Merge Sort
```
from geeeks import DnC_Algo as dnc
arr = [1,2,3,4,5]
low = 0 # lowest index
high = len(arr) # maximum index
print(arr)
dnc.merge_sort(arr, low, high)
print(arr)
```
4. Minimum & Maximum
```
from geeeks import DnC_Algo as dnc
arr = [34, 67, 78, 45]
low = 0
high = len(arr) - 1 # maximum index
minimum, maximum = dnc.min_max(arr, low, high)
print(f"Maximum: {maximum}\nMinimum: {minimum}")
```
5. Quick Sort
```
from geeeks import DnC_Algo as dnc
arr = [10,9,8,7,6]
low = 0
high = len(arr)-1
print("Before quick sort: {}".format(arr))
dnc.quick_sort(arr, low, high)
print("After quick sort: {}".format(arr))
```
### Dynamic Programming Algorithms
This package (geeeks.DP_Algo) contains the following functions:
* zero_one_knapsack(capacity, weight, profit)
* coin_change(coins, amount)
* longest_common_subsequence(str_a, str_b)
* matrix_multiplication(arr)
1. 0-1 Knapsack Problem
```
from geeeks import DP_Algo as dp
weight = [2, 3, 4, 5]
profit = [1, 2, 5, 6]
capacity = 8
dp.zero_one_knapsack(capacity, weight, profit)
```
2. Coin Change Problem
```
from geeeks import DP_Algo as dp
coins = [2,5,10]
amount = 25
dp.coin_change(coins, amount)
```
3. Longest Common Subsequence
```
from geeeks import DP_Algo as dp
A,B = list("algorithm"), list("analysis")
print(dp.longest_common_subsequence(A,B))
```
4. Matrix Multiplication
```
from geeeks import DP_Algo as dp
arr=[1,2,3,4,1]
print(dp.matrix_multiplication(arr))
```
### Graph Algorithms
This package (geeeks.Graph_Algo) contains the following functions:
* dijkstra(graph)
* floyd(graph, num_vertices)
1. Dijkstra's Algorithm
```
from geeeks import Graph_Algo as gp
graph = [[0, 5, 8, 0], [5, 0, 10, 0], [8, 10, 0, 20], [0, 15, 20, 0]]
gp.dijkstra(graph)
```
2. Floyd-Warshall Algorithm
```
from geeeks import Graph_Algo as gp
INF = 999
graph = [ [0, 3, INF, 7],
[8, 0, 2, INF],
[5, INF, 0, 1],
[2, INF, INF, 0]]
gp.floyd(graph)
```
### Greedy Algorithms
This package (geeeks.Greedy_Algo) contains the following functions:
* fractional_knapsack(values, weight, max_capacity)
* build_huffman_tree(arr, freq)
* job_scheduling(arr)
* prims_mst(graph)
1. Fractional Knapsack
```
from geeeks import Greedy_Algo as gd
values = [280, 100, 120, 120]
weight = [40, 10, 20, 24]
max_capacity = 60
gd.fractional_knapsack(values, weight, max_capacity)
```
2. Huffman Encoding Technique
```
from geeeks import Greedy_Algo as gd
arr = ['a','b','c','d','e','f']
freq = [40,30,20,5,3,2]
gd.build_huffman_tree(arr, freq)
```
3. Job Scheduling
```
from geeeks import Greedy_Algo as gd
# follow this structure for the data
arr = [['j1', 5, 200],
['j2', 3, 180],
['j3', 3, 190],
['j4', 2, 300],
['j5', 4, 120],
['j6', 2, 100]
]
gd.job_scheduling(arr)
```
4. Prim's Algorithm
```
from geeeks import Greedy_Algo as gd
graph = [[0,5,8,0],[5,0,10,0],[8,10,0,20],[0,15,20,0]]
print("MST acc. to Prim's is: {}".format(gd.prims_mst(graph)))
```
Raw data
{
"_id": null,
"home_page": "",
"name": "geeeks",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "math,dyanmic programming,greedy,graph,divide and conquer,algorithm,encryption,decryption",
"author": "yashpra1010 (Yash Prajapati)",
"author_email": "yashpra1010@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/d0/03/9ea1e5b9cbc1b2461bffc7f99493ecb8a2401ab01d02869ca3bb29a11c3b/geeeks-0.1.5.tar.gz",
"platform": null,
"description": "# Geeeks - A simple and helpful package\nInstall/Upgrade our package\n```\npip install geeeks # install\npip install --upgrade geeeks # upgrade\n```\n\n## String Functions \n1. Reverse String: reverse(string)\n```\nfrom geeeks import StringFunctions as sf\n\nmy_string = \"AnyRandomString\"\nrev = sf.reverse(my_string)\n\nprint(rev)\n# Output: gnirtSmodnaRynA\n```\n\n2. Make Link: make_link(string)\n```\nfrom geeeks import StringFunctions as sf\n\nmy_string = \"Any Random String\"\nlink = sf.make_link(my_string)\n\nprint(link)\n# Output: any-random-string\n```\n\n3. Swap Case: swap_case(string)\n```\nfrom geeeks import StringFunctions as sf\n\nmy_string = \"Any Random String\"\nswap = sf.swap_case(my_string)\nprint(swap) # Output: aNY rANDOM sTRING\n```\n\n4. Make Chunks: make_chunks(string,k)\n```\nfrom geeeks import StringFunctions as sf\n\nmy_string = \"ABCDEFGHI\"\nk = 3\n\nprint(sf.make_chunks(my_string,k))\n# Output: ['ABC','DEF','GHI']\n```\n\n## Encryption & Decryption Techniques\n1. Caesar Cipher: caesarCipher(s=string(), key=int())\n```\nfrom geeeks import Encryption as encrypt\nfrom geeeks import Decryption as decrypt\n\nstring = \"this-is-my-secret-message\"\nkey = 4\n\ncipher = encrypt.caesarCipher(string, key)\nprint(cipher) # Output: xlmw-mw-qc-wigvix-qiwweki\n\nmessage = decrypt.caesarCipher(cipher, key)\nprint(message) # Output: this-is-my-secret-message\n```\n\n## Advance Algorithms \n### Divide & Conquer Algorithms \nThis package (geeeks.DnC_Algo) contains the following functions:\n* binary_search(arr, x, low, high)\n* bubble_sort(arr)\n* merge_sort(arr, low, high)\n* min_max(arr, low, high)\n* quick_sort(arr, low, high)\n\n1. Binary Search \n```\nfrom geeeks import DnC_Algo as dnc\n\narr = [1,2,3,4,5]\nx = 4 # Element to search\nlow = 0 # lowest index\nhigh = len(arr)-1 # maximum index\n\nres = dnc.binary_search(arr, x, low, high)\nif res != -1:\n print(f\"Element is present at index: {res}\")\nelse:\n print(\"Element is not present in array!\")\n```\n\n2. Bubble Sort\n```\nfrom geeeks import DnC_Algo as dnc\n\narr = [12,9,87,6,43,55,34]\nprint(dnc.bubble_sort(arr))\n```\n\n3. Merge Sort\n```\nfrom geeeks import DnC_Algo as dnc\n\narr = [1,2,3,4,5]\nlow = 0 # lowest index\nhigh = len(arr) # maximum index\n\nprint(arr)\ndnc.merge_sort(arr, low, high)\nprint(arr)\n```\n\n4. Minimum & Maximum\n```\nfrom geeeks import DnC_Algo as dnc\n\narr = [34, 67, 78, 45]\nlow = 0\nhigh = len(arr) - 1 # maximum index\nminimum, maximum = dnc.min_max(arr, low, high)\nprint(f\"Maximum: {maximum}\\nMinimum: {minimum}\")\n```\n\n5. Quick Sort\n```\nfrom geeeks import DnC_Algo as dnc\n\narr = [10,9,8,7,6]\nlow = 0\nhigh = len(arr)-1\n\nprint(\"Before quick sort: {}\".format(arr))\ndnc.quick_sort(arr, low, high)\nprint(\"After quick sort: {}\".format(arr))\n```\n\n### Dynamic Programming Algorithms\nThis package (geeeks.DP_Algo) contains the following functions:\n* zero_one_knapsack(capacity, weight, profit)\n* coin_change(coins, amount)\n* longest_common_subsequence(str_a, str_b)\n* matrix_multiplication(arr)\n\n1. 0-1 Knapsack Problem\n```\nfrom geeeks import DP_Algo as dp\n\nweight = [2, 3, 4, 5]\nprofit = [1, 2, 5, 6]\ncapacity = 8\n\ndp.zero_one_knapsack(capacity, weight, profit)\n```\n\n2. Coin Change Problem\n```\nfrom geeeks import DP_Algo as dp\n\ncoins = [2,5,10]\namount = 25\ndp.coin_change(coins, amount)\n```\n\n3. Longest Common Subsequence\n```\nfrom geeeks import DP_Algo as dp\n\nA,B = list(\"algorithm\"), list(\"analysis\")\nprint(dp.longest_common_subsequence(A,B))\n```\n\n4. Matrix Multiplication\n```\nfrom geeeks import DP_Algo as dp\n\narr=[1,2,3,4,1]\nprint(dp.matrix_multiplication(arr))\n```\n\n### Graph Algorithms\nThis package (geeeks.Graph_Algo) contains the following functions:\n* dijkstra(graph)\n* floyd(graph, num_vertices)\n\n1. Dijkstra's Algorithm\n```\nfrom geeeks import Graph_Algo as gp\n\ngraph = [[0, 5, 8, 0], [5, 0, 10, 0], [8, 10, 0, 20], [0, 15, 20, 0]]\ngp.dijkstra(graph)\n```\n\n2. Floyd-Warshall Algorithm\n```\nfrom geeeks import Graph_Algo as gp\nINF = 999\ngraph = [ [0, 3, INF, 7],\n [8, 0, 2, INF],\n [5, INF, 0, 1],\n [2, INF, INF, 0]]\n\ngp.floyd(graph)\n```\n\n### Greedy Algorithms\nThis package (geeeks.Greedy_Algo) contains the following functions:\n* fractional_knapsack(values, weight, max_capacity)\n* build_huffman_tree(arr, freq)\n* job_scheduling(arr)\n* prims_mst(graph)\n\n1. Fractional Knapsack\n```\nfrom geeeks import Greedy_Algo as gd\n\nvalues = [280, 100, 120, 120]\nweight = [40, 10, 20, 24]\nmax_capacity = 60\ngd.fractional_knapsack(values, weight, max_capacity)\n```\n\n2. Huffman Encoding Technique\n```\nfrom geeeks import Greedy_Algo as gd\n\narr = ['a','b','c','d','e','f']\nfreq = [40,30,20,5,3,2]\ngd.build_huffman_tree(arr, freq)\n```\n\n3. Job Scheduling\n```\nfrom geeeks import Greedy_Algo as gd\n\n# follow this structure for the data\narr = [['j1', 5, 200],\n ['j2', 3, 180],\n ['j3', 3, 190],\n ['j4', 2, 300],\n ['j5', 4, 120],\n ['j6', 2, 100]\n ]\n\ngd.job_scheduling(arr)\n```\n\n4. Prim's Algorithm\n```\nfrom geeeks import Greedy_Algo as gd\n\ngraph = [[0,5,8,0],[5,0,10,0],[8,10,0,20],[0,15,20,0]]\nprint(\"MST acc. to Prim's is: {}\".format(gd.prims_mst(graph)))\n```\n",
"bugtrack_url": null,
"license": "",
"summary": "A package to make your life easy.",
"version": "0.1.5",
"project_urls": null,
"split_keywords": [
"math",
"dyanmic programming",
"greedy",
"graph",
"divide and conquer",
"algorithm",
"encryption",
"decryption"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1735ca1a665dac41b27f7e9a7d6cd1fa5bc1bdf3db6483631eaf11f65ebbc982",
"md5": "4b3161eed2d11d8053736bda77bd948b",
"sha256": "19abc595559ed345689f0996be777684a51b8e25a2d5e9af3575ad6c7efcf841"
},
"downloads": -1,
"filename": "geeeks-0.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4b3161eed2d11d8053736bda77bd948b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 8365,
"upload_time": "2023-09-04T14:30:27",
"upload_time_iso_8601": "2023-09-04T14:30:27.102125Z",
"url": "https://files.pythonhosted.org/packages/17/35/ca1a665dac41b27f7e9a7d6cd1fa5bc1bdf3db6483631eaf11f65ebbc982/geeeks-0.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d0039ea1e5b9cbc1b2461bffc7f99493ecb8a2401ab01d02869ca3bb29a11c3b",
"md5": "587d02fc149b6c5e44ba959ed745d441",
"sha256": "0795b0c5c9827a10496bc4ca44b09856190b734ebc7629d909ca46e579941d2d"
},
"downloads": -1,
"filename": "geeeks-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "587d02fc149b6c5e44ba959ed745d441",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 7823,
"upload_time": "2023-09-04T14:30:28",
"upload_time_iso_8601": "2023-09-04T14:30:28.242881Z",
"url": "https://files.pythonhosted.org/packages/d0/03/9ea1e5b9cbc1b2461bffc7f99493ecb8a2401ab01d02869ca3bb29a11c3b/geeeks-0.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-04 14:30:28",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "geeeks"
}