Форум программистов, компьютерный форум CyberForum.ru

Какое математическое объяснение можно дать формуле, используемой в интерполяционном поиске? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Траблы с ресайзингом вектора http://www.cyberforum.ru/cpp-beginners/thread1156383.html
Я создал вектор моего класса std::vector<CustomClass> myClass; и через цикл заполняю его: Но при ресайзинге вектора, что бы добавить туда еще один элемент класса, у меня почему-то элементы классов, ранее созданных в этом векторе принимают какие-то непонятные значения. Так что на самом деле происходит при myClass.resize(myClass.size()+1); и как мне избежать такой ошибки?
C++ Изменение области видимости функции Здравствуйте, имеется вопрос по наследованию: Пусть имеется некоторый класс A c функцией func class A { ... Public: int func(); ... } И наследуемый от него класс B http://www.cyberforum.ru/cpp-beginners/thread1156362.html
Повторный ввод данных без выхода из программы C++
Здравствуйте! Вот фрагмент кода: while(w1 != 1, w1 != -1){ // веса w1 cout << "Введите весовой коэффицент синапса w1 1 или -1: "; cin >> w1; if (w1 == 1){ cout << "Возбуждающий синапс" << endl << endl; } else if (w1 == -1){ cout << "Тормозящий синапс" << endl << endl;
C++ Структура в классе (из метода увидеть переменную)
class Records { public: int Count; struct Param { public: __property unsigned int index = {write = SetIndex, read = Findex}; protected: unsigned int Findex;
C++ Непонятная ошибка. Потоки ввода/вывода http://www.cyberforum.ru/cpp-beginners/thread1156334.html
Решал задачу и столкнулся с проблемой (первый день на c++ "пишу") не пойму что за ошибка #include "stdafx.h" #include <iostream> using namespace std; void main() { freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); int i,c,f,a,b;
C++ Представление натурального N в виде суммы не менее двух попарно различных положительных слагаемых Я просто не понимаю что сделать нужно, может кто то объяснить? Задание: " Подсчитайте количество различных представлений заданного натурального числа N в виде суммы не менее двух попарно различных положительных слагаемых. Представление, которое отличается порядком слагаемых, разными ни считать. В программе использовать рекурсивную функцию. " подробнее

Показать сообщение отдельно
Гузель23
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 56

Какое математическое объяснение можно дать формуле, используемой в интерполяционном поиске? - C++

24.04.2014, 17:34. Просмотров 149. Ответов 0
Метки (Все метки)

какое математическое объяснение можно дать формуле, используемой в интерполяционном поиске?
как объяснить ее с математической точки зрения?

C++
1
mid = l + ((k - a[l]) * (r - l)) / (a[r] - a[l]);
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
k-ключ поиска;
int l = 0;//левая граница массива-начало
int r = n - 1;//прав граница-конец массива
int mid;//индекс значения, с которым будем сравнивать k
//цикл интерполирующего поиска
while (a[l] < k && a[r] >= k)
{
//интерполирующий поиск производит оценку новой области поиска
//по расстоянию между ключом поиска и текущим значение элемента
mid = l + ((k - a[l]) * (r - l)) / (a[r] - a[l]);
//если значение в ячейке с индексом mid меньше, то смещаем нижнюю границу
if (a[mid] < k)
l = mid + 1;
//в случае, если значение больше, то смещаем верхнюю границу
else if (a[mid] > k)
r = mid - 1;
//если равны, то возвращаем индекс
else
return mid;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru