Базовый CS с нуля
Данные в памяти: тест на свободное вспоминание
Вспоминание сильнее перечитывания. На каждую подсказку скажи или запиши полный ответ по памяти, прежде чем открыть модельный ответ — именно усилие вспоминания закрепляет раскладку.
Восстанови костяк юнита, не подглядывая: почему array contiguous и из равных ячеек, как индекс становится адресом, почему доступ константный, чем отличается объект и почему reference превращают вложенные данные в graph of cells.
- 01Какова форма array в памяти и почему все ячейки должны быть одного размера?
- 02Дай формулу адреса элемента i и назови каждую часть.
- 03Почему первый элемент имеет index 0, а не index 1?
- 04Почему доступ к любому элементу — константное время и что это сломало бы?
- 05Чем объект отличается от array и почему порядок полей объекта не важен?
- 06Как array может хранить сотню объектов разного размера и сохранять сетку из равных ячеек?
Если ты смог восстановить каждый ответ по памяти, у тебя есть костяк юнита: array — contiguous-ряд из равных ячеек; индекс становится адресом через base + i x element_size, поэтому index 0 первый и поэтому доступ константный; объект достаёт значения по имени, так что порядок полей не важен; а reference позволяют сетке фиксированного размера указывать на объекты переменного размера, превращая любую вложенную структуру в graph of cells, связанный адресами.