# 6.1.1 Functional Recursion

In this unit, you will have a chance to examine different types of recursion. Recursion is a process in which a function calls itself to help accomplish a task.

While you may have had a chance to explore some recursion in other computer science courses, this course will take a deeper dive into different types of recursion and give you an opportunity to write your own recursive functions.

Recursion plays a key role as you look to develop your own data structures. Later in this course, you will examine how you can use basic structures as building blocks to your own data structures and you will find that recursion can often provide efficient access.

In this lesson, you will explore functional recursion. Functional recursion are recursive functions that accomplish a task by returning a value.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mr-poston-1.gitbook.io/c++/6.-recursion/6.1-functional-recursion/6.1.1-functional-recursion.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
