Skip to Content
Algorithms and Parallel Computing
book

Algorithms and Parallel Computing

by Fayez Gebali
April 2011
Intermediate to advanced
364 pages
10h 8m
English
Wiley
Content preview from Algorithms and Parallel Computing

15.1 INTRODUCTION

String matching is employed in several applications, such as packet classification, computational biology, spam blocking, and information retrieval. String search operates on a given alphabet set Σ of size |Σ|, a pattern P = p0p1pm−1 of length m, and a text string T = t0t1tn−1 of length n, with mn. The problem is to find all occurrences of the pattern P in the text string T. The average time complexity for implementing the string search problem on a single processor was proven to be O(n) [99]. We refer the reader to Reference 100 for a comprehensive review of the different hardware implementations of the string matching problem.

A hardware implementation for the search engine can be assumed to have the following characteristics:

  • The text length n is typically big and variable.
  • The pattern length m varies from a word of few characters to hundreds of characters (e.g., a URL address).
  • The word length w is determined by the data storage organization and datapath bus width.
  • Typically, the search engine is looking for the existence of the pattern P in the text T; that is, the search engine only locates the first occurrence of the P in T.
  • The text string T is supplied to the hardware in word serial format.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Multicore and GPU Programming

Multicore and GPU Programming

Gerassimos Barlas
Graph Algorithms

Graph Algorithms

Mark Needham, Amy E. Hodler
Parallel Computer Architecture

Parallel Computer Architecture

David Culler, Jaswinder Pal Singh, Anoop Gupta

Publisher Resources

ISBN: 9780470934630Purchase book