Оптимáльна підструктýра — В інформатиці, задача має оптимальну підструктуру, якщо її оптимальній розв'язок можна ефективно одержати з оптимальних розв'язків її підзадач. Оптимальність підструктури визначає застосовність динамічного програмування та жадібних алгоритмів до задачі.
Іншими словами, якщо задачу можна розбити на менші підзадачі, і розв’язки цих підзадач можна поєднати, щоб отримати розв’язок усієї задачі, — тоді така задача має властивість оптимальної підструктури.