вторник, 29 марта 2011 г.

Задание

Добрый день, коллеги!
Представляем Вашему вниманию очередное задание для самостоятельной работы по курсу "Алгоритмы и структуры данных".

Напишите на естественном языке или псевдокоде алгоритм решения судоку для заданной текущей конфигурации.
Ввод: двумерный массив a, представляющий текущую «доску» судоку, возможно, без единого проставленного числа, а, возможно, уже конечную, решенную, со всеми числами на своих местах.
Вывод: полностью заполненный массив a, удовлетворяющий правилам игры судоку, и представляющий правильное решение, конечную конфигурацию.
Правила игры судоку Вы можете найти здесь.
Как обычно, присылайте Ваши ответы на почтовый ящик misha_bar@mail.ru.
С уважением, Михаил Баранов.

Коды из лекций 3

Добрый день, коллеги!
Публикуем очередную порцию слайдов с кодом из лекций. Их можно найти здесь.
С уважением, Михаил Баранов.

пятница, 25 марта 2011 г.

Задание

Добрый день, коллеги!
Представляем Вам очередное задание для самостоятельной работы по курсу "Алгоритмы и структуры данных".
Имеется реализация алгоритма вычисления квадратного корня с использованием итерационной формулы Герона на С#.
Ввод: вещественное число x; вещественное число Epsilon, задающее точность вычислений.
Вывод: квадратный корень из x с точностью Epsilon.
double SquareRoot(double x, double Epsilon)
{
  // squareRoot(n+1) = (x / squareRoot(n) + squareRoot(n)) / 2.0
  double squareRoot = 1.0;
  double currentGuess = ((x / squareRoot) + squareRoot) / 2.0;
  while (Math.Abs(squareRoot - currentGuess) > Epsilon)
  {
    squareRoot = currentGuess;
    currentGuess = ((x / squareRoot) + squareRoot) / 2.0;
  }
  return squareRoot;
}
Необходимо определить инвариант цикла, используемого в алгоритме. Пожалуйста, присылайте Ваши рассуждения, которыми Вы руководствовались, при определении инварианта.
С уважением, Михаил Баранов.

Слайды с кодом

Добрый день, коллеги!
Представляем Вам очередную порцию слайдов с исходным кодом, который мы пишем на лекциях. Найти их можно здесь. Также обещанная ссылка на лекции В.В. Борисенко.
С уважением, Михаил Баранов.

Коды из лекций

Добрый день, коллеги!
Рад сообщить, что теперь слайды с кодом из лекций можно будет найти на нашем сайте. Первая порция находится здесь.
С уважением, Михаил Баранов.

вторник, 22 марта 2011 г.

Задание

Добрый день, коллеги!
Представляем Вам задание для самостоятельной работы по курсу "Алгоритмы и структуры данных".

Напишите на естественном языке или на псевдокоде алгоритм возведения вещественного числа в целую степень. Оцените эффективность этого алгоритма в нотации большого О. Постарайтесь написать наиболее эффективный алгоритм.
Ввод: вещественное число a; целое число x.
Вывод: число a в степени x.
Пожалуйста, присылайте Ваши ответы на мой почтовый ящик misha_bar@mail.ru.
С уважением, Михаил Баранов.

суббота, 19 марта 2011 г.

Формат общения

Добрый день, коллеги!
В очередной раз хотелось бы сделать несколько объявлений по поводу формата общения по курсу "Алгоритмы и структуры данных".
1. Пожалуйста, пишите мне на электронный почтовый ящик misha_bar@mail.ru, если Вы бы хотели получить исходные коды, которые мы пишем в курсе (но рекомендуется все записывать в ходе лекций. см. п. 2), а также с высказыванием пожеланий и замечаний относительно курса. Только таким ПРЯМЫМ взаимодействием мы сможем продвигаться в сторону решения задач, поставленных перед курсом.
2. На мой взгляд, наиболее эффективно материал усваивается и понимается, когда слушатели сами записывают всю ключевую информацию. Пожалуйста, записывайте код и важные определения в ходе лекций! Это многократно повысит понимание материала, позволит запомнить.
С уважением, Михаил Баранов.

вторник, 1 марта 2011 г.

Возобновление работы факультатива

Коллеги, не пора ли нам возобновить работу факультатива? На повестке дня курс лекции "Алгоритмы и структуры данных". Есть живые?