Quick Select Search (#131)

* HeapSort algorithm

* Create QuickSelect.js

* Algorithm to reverse a string.

* Update ReverseString.js

* Update Heapsort.js

* Update QuickSelect.js

Co-authored-by: vinayak <itssvinayak@gmail.com>
This commit is contained in:
Nour B
2020-05-07 16:27:23 +01:00
committed by GitHub
parent a052808687
commit ce07a8ba33
3 changed files with 161 additions and 0 deletions

45
maths/ReverseString.js Normal file
View File

@@ -0,0 +1,45 @@
/**
* A short example showing how to reverse a string
* @flow
*/
/**
* Create a new string and append
* @complexity O(n)
*/
function ReverseStringIterative (string) {
let reversedString = ''
let index
for (index = string.length - 1; index >= 0; index--) {
reversedString += string[index]
}
return reversedString
}
/**
* JS disallows string mutation so we're actually a bit slower.
*
* @complexity: O(n)
*
* 'some' -> 'eoms' -> 'emos'
*/
function ReverseStringIterativeInplace (string) {
const _string = string.split('')
for (let i = 0; i < Math.floor(_string.length / 2); i++) {
const first = _string[i]
const second = _string[_string.length - 1 - i]
_string[i] = second
_string[_string.length - 1 - i] = first
}
return _string.join('')
}
// testing
console.log(ReverseStringIterative('Javascript'))
console.log(ReverseStringIterativeInplace('Javascript'))