- 0-Introduction
- 1-Chatbot Variables
- 2-Password IF Statements
- 3-Create Main Menu functions
- 4-Complete Quiz 3 Questions
- 5-Adding Score variable global
- 6-Debug this code
- 7-Introducing While loops Boolean flags
- 8-Introducing Validation password creation
- 9a-For Loop Guess the number
- 9b-For Loop Password Challenge
- 9c-For Loop Times table challenge
- FINAL CHALLENGE
- Skills Consolidation Task 1
- Test 1
- 0-Introduction
- 1-Introducing Lists
- 2-Personality Predictor Lists app
- 3-Players assigned weapons lists
- 3a-Nested List Matrix Snakes and Ladders game
- 3b Nested List Super Extension Complete game
- 4-String Manipulation Username Creator
- 5-StringManipulation Email Creator based on Validated username
- 6-Strip characters from password app
- 7-Create registration feature using lists
- 8-Introducing Dictionaries registration with dicts
- 8a-Course teacher finder program with dicts
- 9a-Football Club app Create and Learn
- 9b-Online Shopping Basket Checkout Program Create and Learn
- Test 1
- 0-Introduction
- 1-Introducing File Handling
- 2-READ from fake facebook file
- 3-SEARCH for username return no of friends
- 4-SEARCH by ID return full record listing
- 5-ADD WRITE a new user to file
- 6-SORT file by USER ID and Last Name
- 7-Bingo game store scores
- 8-Modulo Magic Program
- 9-Create Maths Quiz Program Tutorial
- 9a-How-to-DELETE user record row from file
- 9b-How to EDIT a field in a file
- Test 1

- 00 Intro
- 01 Main Menu Start Screen
- 02 Registration Feature Part1
- 03 Secure Password Creator
- 04 Login Functionality
- 05 MainFilms Menu Members
- 06 Allow Users to View films
- 07 Store Viewed Films by user
- 08 Allow users to like films
- 09 Search by Title
- 10 Search by Rating
- 11 Recommendations based on viewing FinalSolutions

- 00 Overview Start Here
- 01 Connect Create table
- 02 Add records to table
- 03 Fetch Display records
- 04 Update database records
- 05 Delete records
- 06 Search by condition where clause
- 07 Search for key phrase word
- 08 Sorting in SQLite
- 09 Search return selected fields
- 10 Count no rows
- 11 Find Max Value in column
- 12 Calculate Average
- 13 Calculate SUM total
- 14 Login username password sqlite

- 00-Introduction to OOP and Classes
- 01-Setup Game Canvas
- 02-Create a Ball Class
- 03-Setup main animation loop
- 04-Make the ball move up
- 05-Create bouncing ball movement
- 06-Change Starting Direction
- 07-Right left wall collision detection
- 08-Add Pong bat paddle class
- 09-Bat movement
- 10 Bat Ball collision detection
- 11 End Game Feature if ball hits bottom
- 12 Display text game over

In this series we provide a

- video,
- explanation,
- flow chart and
- python code implementation
- suggested learning activities (download worksheet with ideas for classroom activities here)

for the various searching algorithms.

Searching is integral to life - we search for things all the time - or at least I do! As often is the case, just as it is in life, so it is in computer science and searching plays a very important role when it comes to working with data. a **search algorithm** is any algorithm which solves the Search problem, namely, to retrieve information stored within some data structure, or calculated in the search space of a problem domain. Examples of such structures include but are not limited to a Linked List, an Array data structure, or a Search tree. The appropriate search algorithm often depends on the data structure being searched, but also on any a priori knowledge about the data. Searching also encompasses algorithms that query the data structure, such as the SQL SELECT command.

This series will primarily look at python code for the various searching algorithms, along with an explanation (video or presentation) for each. If you're really interested however, there is plenty of additional information on this topic below:

From http://www.geeksforgeeks.org/searching-algorithms/#algo and BBC Bitesize

**Why Searching Algorithms?**

We often need to find one particular item of data amongst many hundreds, thousands, millions or more. For example, you might need to find someone’s phone number on your phone, or a particular business’s address in the UK.

This is why searching algorithms are important. Without them you would have to look at each item of data – each phone number or business address – individually, to see whether it is what you are looking for. In a large set of data, it will take a long time to do this. Instead, a searching algorithm can be used to help find the item of data you are looking for.

**Searching Algorithms :**

- Linear Search
- Binary Search
- Jump Search
- Interpolation Search
- Exponential Search
- Sublist Search (Search a linked list in another list)
- Fibonacci Search
- The Ubiquitous Binary Search
- Recursive program to linearly search an element in a given array
- Recursive function to do substring search
- Unbounded Binary Search Example (Find the point where a monotonically increasing function becomes positive first time)

- Linear Search vs Binary Search
- Interpolation search vs Binary search
- Why is Binary Search preferred over Ternary Search?

**Library Implementations of Searching Algorithms :**

- Binary Search functions in C++ STL (binary_search, lower_bound and upper_bound)
- Arrays.binarySearch() in Java with examples | Set 1
- Arrays.binarySearch() in Java with examples | Set 2 (Search in subarray)
- Collections.binarySearch() in Java with Examples

- Find the Missing Number
- Search an element in a sorted and rotated array
- Median of two sorted arrays
- Two elements whose sum is closest to zero
- Find the smallest and second smallest element in an array
- Maximum and minimum of an array using minimum number of comparisons
- k largest(or smallest) elements in an array | added Min Heap method
- Ceiling in a sorted array
- Count number of occurrences (or frequency) in a sorted array
- Find the repeating and the missing | Added 3 new methods
- Find a Fixed Point in a given array
- Find the maximum element in an array which is first increasing and then decreasing
- Find a pair with the given difference
- Find the k most frequent words from a file
- Median of two sorted arrays of different sizes
- Find a peak element
- Given an array of of size n and a number k, find all elements that appear more than n/k times
- Find the minimum element in a sorted and rotated array
- Kth smallest element in a row-wise and column-wise sorted 2D array | Set 1
- Find k closest elements to a given value
- Search in an almost sorted array
- A Problem in Many Binary Search Implementations
- Find the first repeating element in an array of integers
- Find common elements in three sorted arrays
- Count 1’s in a sorted binary array
- Given a sorted array and a number x, find the pair in array whose sum is closest to x
- Find the closest pair from two sorted arrays
- K’th Smallest/Largest Element in Unsorted Array | Set 1
- K’th Smallest/Largest Element in Unsorted Array | Set 2 (Expected Linear Time)
- K’th Smallest/Largest Element in Unsorted Array | Set 3 (Worst Case Linear Time)
- Find position of an element in a sorted array of infinite numbers
- Given a sorted and rotated array, find if there is a pair with a given sum
- Find the largest pair sum in an unsorted array
- Find the nearest smaller numbers on left side in an array
- K’th largest element in a stream
- Find a pair with maximum product in array of Integers
- Find the element that appears once in a sorted array
- Find the odd appearing element in O(Log n) time
- Find the largest three elements in an array
- Search an element in an array where difference between adjacent elements is 1
- Find three closest elements from given three sorted arrays
- Find the element before which all the elements are smaller than it, and after which all are greater
- Binary Search for Rational Numbers without using floating point arithmetic
- Floor in a Sorted Array
- Third largest element in an array of distinct elements
- Second minimum element using minimum comparisons
- Queries for greater than and not less than
- Efficient search in an array where difference between adjacent is 1
- Print all possible sums of consecutive numbers with sum N
- Minimum time required to produce m items
- Make all array elements equal with minimum cost
- Check if there exist two elements in an array whose sum is equal to the sum of rest of the array
- Check if reversing a sub array make the array sorted
- Find all triplets with zero sum
- Search, insert and delete in an unsorted array
- Search, insert and delete in a sorted array
- Move all occurrences of an element to end in a linked list
- Search in an array of strings where non-empty strings are sorted
- Smallest Difference Triplet from Three arrays
- Best First Search (Informed Search)