Hashing is an algorithm that maps keys of variable length to fixed-length values called hash values. A hash table uses a hash function to map keys to values for efficient search and retrieval. Linear probing is a collision resolution technique for hash tables where open addressing is used. When a collision occurs, linear probing searches sequentially for the next empty slot, wrapping around to the beginning if reaching the end. This can cause clustering where many collisions occur in the same area. Lazy deletion marks deleted slots as deleted instead of emptying them.