Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
25
Task/Binary-search/MAXScript/binary-search-1.max
Normal file
25
Task/Binary-search/MAXScript/binary-search-1.max
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
fn binarySearchIterative arr value =
|
||||
(
|
||||
lower = 1
|
||||
upper = arr.count
|
||||
while lower <= upper do
|
||||
(
|
||||
mid = (lower + upper) / 2
|
||||
if arr[mid] > value then
|
||||
(
|
||||
upper = mid - 1
|
||||
)
|
||||
else if arr[mid] < value then
|
||||
(
|
||||
lower = mid + 1
|
||||
)
|
||||
else
|
||||
(
|
||||
return mid
|
||||
)
|
||||
)
|
||||
-1
|
||||
)
|
||||
|
||||
arr = #(1, 3, 4, 5, 6, 7, 8, 9, 10)
|
||||
result = binarySearchIterative arr 6
|
||||
30
Task/Binary-search/MAXScript/binary-search-2.max
Normal file
30
Task/Binary-search/MAXScript/binary-search-2.max
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
fn binarySearchRecursive arr value lower upper =
|
||||
(
|
||||
if lower == upper then
|
||||
(
|
||||
if arr[lower] == value then
|
||||
(
|
||||
return lower
|
||||
)
|
||||
else
|
||||
(
|
||||
return -1
|
||||
)
|
||||
)
|
||||
mid = (lower + upper) / 2
|
||||
if arr[mid] > value then
|
||||
(
|
||||
return binarySearchRecursive arr value lower (mid-1)
|
||||
)
|
||||
else if arr[mid] < value then
|
||||
(
|
||||
return binarySearchRecursive arr value (mid+1) upper
|
||||
)
|
||||
else
|
||||
(
|
||||
return mid
|
||||
)
|
||||
)
|
||||
|
||||
arr = #(1, 3, 4, 5, 6, 7, 8, 9, 10)
|
||||
result = binarySearchRecursive arr 6 1 arr.count
|
||||
Loading…
Add table
Add a link
Reference in a new issue