Skip to content

Commit

Permalink
added linear search
Browse files Browse the repository at this point in the history
  • Loading branch information
Pizhlo committed Apr 7, 2024
1 parent 008ffe5 commit b677c92
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 1 deletion.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ env/
*.pyc
setup.py
*.egg-info
__pycache__
12 changes: 12 additions & 0 deletions stepik/linear_search/linear_search.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Создайте функцию linear_search() для реализации алгоритма линейного поиска.
# Функция должна принимать два параметра: список значений и искомое значение.
# Используйте цикл for и функцию enumerate() для обхода списка.

# Функция должна искать значение в любом списке: как отсортированном, так и в неотсортированном.
# Если значение не найдено, то функция должна вернуть -1.

def linear_search(arr: list, target: int) -> int:
for i, val in enumerate(arr):
if val == target:
return i
return -1
15 changes: 15 additions & 0 deletions stepik/test/test_linear_search.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import unittest
from linear_search.linear_search import linear_search

class TestLinearSearch(unittest.TestCase):

def test_selection_sort(self):
self.assertEqual(linear_search([1,2,3,4], 4), 3)
self.assertEqual(linear_search([13, 10, 8, 7, 6, 2, 4, 5, 22], 7), 3)
self.assertEqual(linear_search([13, 10, 8, 7, 6, 2, 4, 5, 22], 22), 8)
self.assertEqual(linear_search([13, 10, 8, 7, 6, 2, 4, 5, 22], 100), -1)
self.assertEqual(linear_search([13, 10, 8, 7, 6, 2, 4, 5, 22], 13), 0)
self.assertEqual(linear_search([13, 10, 8, 7, 6, 2, 4, 5, 22], 2), 5)

if __name__ == '__main__':
unittest.main()
2 changes: 1 addition & 1 deletion stepik/test/test_selection_sort.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import random
from selection_sort.selection_sort import selection_sort

class TestSum(unittest.TestCase):
class TestSelectionSort(unittest.TestCase):

def test_selection_sort(self):
random_list = self.generate()
Expand Down

0 comments on commit b677c92

Please sign in to comment.