Практика «Индексаторы» Реализуйте индексатор T this[int i] у дерева, возвращающий i-ый по порядку ключ, содержащийся в дереве. Сложность этой операции должна быть O(h)O(h)O(h), где hhh — высота дерева. Для решения этой задачи для каждого узла дерева вам придется хранить и поддерживать еще и размер его поддерева. using System; using System.Collections; using System.Collections.Generic; namespace BinaryTrees { […]
Решения задачи с Ulearn
Практика «Парсер таблиц» Скачайте проект TableParser В классе FieldsParserTask реализуйте метод ParseLine, для которого вы создавали тесты в предыдущей задаче. Создайте модульные тесты на это решение и перенесите разработанные в прошлой задаче тестовые случаи в модульные тесты. При вычленении из строки фрагментов приходится отслеживать 2 вещи: Проинтерпретированное значение, соответствующее фрагменту. Например, значение фрагмента «a\tb» это […]
Решения задачи с Ulearn
Практика «Второй эксперимент» Проведем еще один эксперимент. Реализуйте метод Generator.GenerateCallRunner() так, чтобы он порождал код следующего вида: Отправьте получившийся генератор. Раскомментируйте вторую строчку в Program.Main. Сделайте выводы. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Profiling { Стоимость решения этой задачи всего 100 рублей, купи решения у меня 🙂
Решения задачи с Ulearn
Практика «График» Хорошая визуализация данных — ключ к успеху любого исследования! Вам необходимо научиться визуализировать выход IProfiler, который был написан на предыдущем этапе. Для этого в файле ChartBuilder.cs создайте соответствующий класс, реализовав интерфейс IChartBuilder. Из метода Build вы можете возвращать Chart (из System.Windows.Forms.DataVisualization) или ZedChartControl (ZedGraph). Первый класс работает только в Windows из-за лицензионных соглашений. […]
Решения задачи с Ulearn
Практика «Профайлер» В файле Profiler.cs напишите класс Profiler, реализующий интерфейс IProfiler. Его задача — измерить время вызова методов PS()/PC(). Для этого он должен вызывать метод runner.Call для всех классов и структур всех размеров, указанных в Constants.FieldCounts, с count=repetitionsCount, и замерять время выполнения этого метода с помощью Stopwatch. Не забудьте поделить результат замера на repetitionsCount. Перед […]