## Excel in math and science

### Master concepts by solving fun, challenging problems.

## It's hard to learn from lectures and videos

### Learn more effectively through short, conceptual quizzes.

## Our wiki is made for math and science

###
Master advanced concepts through explanations,

examples, and problems from the community.

## Used and loved by over 5 million people

###
Learn from a vibrant community of students and enthusiasts,

including olympiad champions, researchers, and professionals.

Easy Math Editor

`*italics*`

or`_italics_`

italics`**bold**`

or`__bold__`

boldNote: you must add a full line of space before and after lists for them to show up correctlyparagraph 1

paragraph 2

`[example link](https://brilliant.org)`

`> This is a quote`

Remember to wrap math in \( ... \) or \[ ... \] to ensure proper formatting.`2 \times 3`

`2^{34}`

`a_{i-1}`

`\frac{2}{3}`

`\sqrt{2}`

`\sum_{i=1}^3`

`\sin \theta`

`\boxed{123}`

## Comments

Sort by:

TopNewestSince "self-referential means" referring to itself, a self-referential data structure is something that contains a reference to an object of the same type as itself.

To be more specific, a self-referential structure is a class, one of whose fields is a reference to a (different) copy of the same class.

A specific example of a self-referential class is the class that describes an element of a list. An element of a list not only has a value, but also should contain information about where it is in that list. This could be done by storing the index number of that element (is it the first, second, third,... element in the list?) as well as its value, but this proves to be less effective than having a data structure which "tells" each element what its predecessor in the list is, and what its successor in the list is. Here is some (Pascal) code which would define such a structure:

Note that there are fields inside the TLIstElement class which are of type TListElement - that is why this is a self-referential data structure.

A list consisting of a single value \(10\) would be contained in a single variable \(a\) of type TListElement with

A list consisting of the number \(23\) followed by the number \(25\) would be contained in two variables \(a,b\) of type TListElement with

and an element

zof value \(25\) can be inserted between successive elementsxandyin a list by defining:This structure enables you to find things like "the value of the term in the list three places earlier than the element with the variable name a" as

Of course, if the element

ais the first, second or third element of the list, then this code will throw an exception, dealing with that sort of problem is what programming is about!The first element in the list is the single element of the list whose "Prior" field is

null. The last element in the list is the single element whose "Next" field isnull.Log in to reply

what is mean self referential structure?

Log in to reply