Electronic television program guide information is downloaded, stored and
searched by a local device. A plurality of linked lists are used to
remove redundancy, increase search speed, and allow dynamic categories.
When a new category is encountered a new head node for a link list data
structure is created. When a first program guide object containing
information related to that category is downloaded, a link is made (i.e.,
a pointer is stored) from the head node to the guide object. When
subsequent program guide objects containing information related to that
category are downloaded, links are added to the end of the list or
inserted in alphabetical order. As guide objects expire the links are
removed. When no links remain in a particular category the head node for
that category is deleted.