From 8126e194491a771b5425dee9d4c0d5238e0bf164 Mon Sep 17 00:00:00 2001 From: Shatakshi Singh <51313537+shatakshisingh24@users.noreply.github.com> Date: Thu, 13 Aug 2020 12:13:08 +0530 Subject: [PATCH 1/2] Add files via upload --- DAA Lab-2 .ipynb | 190 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 DAA Lab-2 .ipynb diff --git a/DAA Lab-2 .ipynb b/DAA Lab-2 .ipynb new file mode 100644 index 0000000..637e9be --- /dev/null +++ b/DAA Lab-2 .ipynb @@ -0,0 +1,190 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Binary Search using Single array" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Iterative Binary Search using array" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Given element is present at position 3\n" + ] + } + ], + "source": [ + "def binary_search(arr, x): \n", + " low = 0\n", + " high = len(arr) - 1\n", + " mid = 0\n", + "\n", + " while low <= high: \n", + "\n", + " mid = (high + low) // 2\n", + "\n", + " \n", + " if arr[mid] < x: \n", + " low = mid + 1\n", + "\n", + " \n", + " elif arr[mid] > x: \n", + " high = mid - 1\n", + "\n", + " else: \n", + " return mid \n", + "\n", + " return -1\n", + " \n", + "arr = [ 5,6,7,8,9 ] \n", + "x = 7\n", + "#Calling the binary search function\n", + "result = binary_search(arr, x) \n", + "\n", + "if result != -1: \n", + " print(\"Given element is present at position\", str(result+1)) \n", + "else: \n", + "\tprint(\"Given element is not present in array\") \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Binary Search using Singly Linked List" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "7\n" + ] + } + ], + "source": [ + "class Node: \n", + " def __init__(self, data): \n", + " self.data = data \n", + " self.next = None\n", + " self.prev = None\n", + " \n", + "def newNode(x):\n", + " temp = Node(0) \n", + " temp.data = x \n", + " temp.next = None\n", + " return temp \n", + "\n", + "def middle(start, last): \n", + " if (start == None): \n", + " return None\n", + " \n", + " slow = start \n", + " fast = start . next\n", + "\n", + " while (fast != last): \n", + " \n", + " fast = fast . next\n", + " if (fast != last): \n", + " \n", + " slow = slow . next\n", + " fast = fast . next\n", + " \n", + " return slow \n", + "\n", + "# Function for implementing the Binary \n", + "# Search on linked list \n", + "def binarySearch(head,value): \n", + "\n", + " start = head \n", + " last = None\n", + "\n", + " while True : \n", + " \n", + " # Find middle \n", + " mid = middle(start, last) \n", + "\n", + " # If middle is empty \n", + " if (mid == None): \n", + " return None\n", + "\n", + " # If value is present at middle \n", + " if (mid . data == value): \n", + " return mid.data \n", + "\n", + " # If value is more than mid \n", + " elif (mid . data < value): \n", + " start = mid . next\n", + "\n", + " # If the value is less than mid. \n", + " else: \n", + " last = mid \n", + "\n", + " if not (last == None or last != start): \n", + " break\n", + "\n", + " # value not present \n", + " return None\n", + "\n", + "# Driver Code \n", + "\n", + "head = newNode(1) \n", + "head.next = newNode(4) \n", + "head.next.next = newNode(7) \n", + "head.next.next.next = newNode(8) \n", + "head.next.next.next.next = newNode(9) \n", + "head.next.next.next.next.next = newNode(10) \n", + "value = 7\n", + "print(binarySearch(head, value) ) \n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} From 37a0515fa93c97b1985247166a6201a8d4fd0abc Mon Sep 17 00:00:00 2001 From: Shatakshi Singh <51313537+shatakshisingh24@users.noreply.github.com> Date: Thu, 13 Aug 2020 13:27:37 +0530 Subject: [PATCH 2/2] Create Lab 1 --- Lab programs/Lab 1 | 1 + 1 file changed, 1 insertion(+) create mode 100644 Lab programs/Lab 1 diff --git a/Lab programs/Lab 1 b/Lab programs/Lab 1 new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Lab programs/Lab 1 @@ -0,0 +1 @@ +