You will prepare and submit a term paper on String Processing Structures and Algorithms. Your paper should be a minimum of 2250 words in length. A finite sequence or band of characters or bits is called a string. However, in the text below the term string is used for text or character strings. Strings are sometimes defined as an array of characters (ASCII or Unicode). The array is one of the basic data structures that are used to store data. The design of array is based on a logical linear organization (Abstract Data Type) known as a LIST. The list is any linear or columnar representation of data items. Another structure that is used to represent the LIST ADT is Linked List. This is a dynamic structure as compared to an array which is static in nature. The size of static structures cannot be reduced or expanded at runtime (i.e. after they are established or declared in memory). The dynamic structures allow resizing at runtime.The strings due to their linear nature can also be represented through linked lists but the management of strings implemented through linked lists becomes highly cumbersome. The array is the most suitable structure to implement strings. To make strings finite there must be an end mark that can be easily indicated through a special character. As per the standards established by C language the NULL character (i.e. ‘’) is used as a terminator symbol in the following text.The strings are generally represented through an identifier. ‘S1’ and ‘S2’ are used as string names or identifiers in the examples mentioned above. Note that both the strings are of varying length with their respective end markers (NULL characters).Data without operations is meaningless. Similarly, the storage of strings as character arrays is of no use until and unless exposed to the required string processing operations that are required to support real-world transactional requirements. The algorithms for the string operations discussed in the text below are highlighted through a generalized pseudo code.