Searching is a process to find a value with specified properties among a collection of items. Linear searching compares each item sequentially until a match is found, taking O(n) time. Binary searching requires a sorted list and compares the middle item first, dividing the search space in half with each comparison, taking O(log n) time on average. Sorting rearranges items in ascending or descending order using algorithms like bubble, insertion, selection, quick, and merge sort that differ in efficiency and memory requirements.