# 5. Report contents / Зміст звіту The report is submitted together with the source code. It must contain the following sections. 1. **Title block** — course, laboratory work number and title, student's name and group, date. 2. **Objective** — a short statement of the goal of the work (see [1purpose.md](1purpose.md)). 3. **Brief theory** — graphs, vertex degree and the handshaking theorem, the adjacency and incidence matrices, walks/trails/paths/circuits, subgraphs, and isomorphism, in your own words (see [Lecture 10 — Graph theory](../../Lectures/CDM-L10.md)). 4. **Chosen representation** — how the graph (vertices and edges) is stored, and how vertices are indexed for the matrices. 5. **Implementation** — the source code of each task you completed, with brief comments. State the programming language used. 6. **Testing** — for each function, inputs and results including the examples of [4task.md](4task.md) (degrees of the triangle, the adjacency and incidence matrices, the path and circuit, the subgraph and isomorphism checks) **and** your own cases (e.g. a disconnected graph where no path exists, a pair of non-isomorphic graphs with different degree sequences). 7. **Achieved band** — state which band you reached and which tasks it covers. 8. **Complexity** — the time complexity of degree computation, matrix construction, and path finding (DFS), and a note on why enumerating all paths/trails and testing isomorphism are expensive. 9. **Conclusions** — what was implemented, difficulties encountered, and what you learned about graph representations and traversal. **Submission requirements.** The source must compile/run and reproduce the example outputs of [4task.md](4task.md).