Skip to content
This repository has been archived by the owner on Apr 29, 2020. It is now read-only.

Commit

Permalink
Merge pull request #50 from iamneha/work
Browse files Browse the repository at this point in the history
Add Linear search and Queue
  • Loading branch information
aktech committed Apr 9, 2016
2 parents 87f331a + 73e53fb commit 25d38d0
Show file tree
Hide file tree
Showing 6 changed files with 74 additions and 0 deletions.
6 changes: 6 additions & 0 deletions docs/source/searching.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,9 @@ Binary Search
--------------

.. autofunction:: pydsa.binary_search


Linear Search
-------------

.. autofunction:: pydsa.linear_search
2 changes: 2 additions & 0 deletions pydsa/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@
from .sleep_sort import sleep_sort
from .bfs import bfs
from .binary_search import binary_search
from .linear_search import linear_search
from .queue import queue
14 changes: 14 additions & 0 deletions pydsa/linear_search.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
def linear_search(List, item):
"""
Find the element in list using linear search
>>> from pydsa import linear_search
>>> List = [3, 4, 6, 8, 12, 15, 26]
>>> item = 6
>>> linear_search(List, item)
2
"""
index = len(List)
for i in range(0, index):
if List[i] == item:
return i
return -1
33 changes: 33 additions & 0 deletions pydsa/queue.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
class queue(object):
"""
>>> from pydsa import queue
>>> q = queue()
>>> q.enqueue(5)
>>> q.enqueue(8)
>>> q.enqueue(19)
>>> q.dequeue()
5
"""
def __init__(self):
self.List = []

def isEmpty(self):
return self.List == []

def enqueue(self, item):
"""
Insert element in queue.
"""
self.List.append(item)

def dequeue(self):
"""
Remove element from front of the Queue.
"""
return self.List.pop(0)

def size(self):
"""
Return size of Queue.
"""
return len(self.List)
7 changes: 7 additions & 0 deletions pydsa/tests/test_linear_search.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from pydsa.linear_search import linear_search


def test_linear_search():
List = [4, 17, 9, 12, 5, 16]
item = 12
assert linear_search(List, item) == 3
12 changes: 12 additions & 0 deletions pydsa/tests/test_queue.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
from pydsa.queue import queue


def test_queue():
q = queue()
q.enqueue(5)
q.enqueue(9)
q.enqueue(12)
q.enqueue(20)
assert q.dequeue() == 5
assert q.dequeue() == 9
assert q.size() == 2

0 comments on commit 25d38d0

Please sign in to comment.