Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 20.09.2019
Сообщений: 2
1

Последовательный/быстрый последовательный поиск

20.09.2019, 17:30. Просмотров 1286. Ответов 2
Метки нет (Все метки)

Есть реализация двух методов поиска.
По логике быстрый последовательный должен быть быстрее, но даже с 10 миллионами элементов он работает либо с той же скоростью, либо медленнее просто последовательного.
При таком количестве элементов, мой проц ищет больше секунды, разница должна быть заметна.
Как это можно объяснить?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
void SerialSearch(vector<int> list, int n, int key) {
    LARGE_INTEGER start, finish, freq;
    int i = -1;
 
    QueryPerformanceFrequency(&freq);
    QueryPerformanceCounter(&start);
    do {
        i++;
    } while (i < n && list[i] != key);//два условия
    QueryPerformanceCounter(&finish);
 
    cout << "Последовательный поиск." << endl;
    i != n ? cout << "Найден, Время = ": cout << "Не найден, Время = ";
    cout << (double)(finish.QuadPart - start.QuadPart) / (double)freq.QuadPart * 1000<< " мс." << endl;
}
 
void QuickSerialSearch(vector<int> list, int n, int key) {
    LARGE_INTEGER start, finish, freq;
    list.push_back(key);
    int i = -1;
 
    QueryPerformanceFrequency(&freq);
    QueryPerformanceCounter(&start);
    do {
        i++;
    } while (list[i] != key);//одно условие
    QueryPerformanceCounter(&finish);
 
    cout << "Быстрый последовательный поиск." << endl;
    i != n ? cout << "Найден, Время = " : cout << "Не найден, Время = ";
    cout << (double)(finish.QuadPart - start.QuadPart) / (double)freq.QuadPart * 1000<< " мс." << endl;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.09.2019, 17:30
Ответы с готовыми решениями:

Последовательный и быстрый последовательный поиски
Разработать программу для реализации алгоритма последовательного поиска. Написала программу для...

Индексно-последовательный поиск
вообщем задание такое: &quot;Организовать индексно-последовательный поиск в файле, содержащем список...

Массивы и последовательный поиск
Помогите пожалуйста. Дан массив X.Определить, есть ли в массиве число Z, с использованием метода...

Бинарно-последовательный поиск
Здраствуйте.Ктонить может написать алгоритм бинарно-последновательного поиска.Плз в инете искал...

2
С чаем беда...
Эксперт CЭксперт С++
6617 / 3307 / 896
Регистрация: 18.10.2014
Сообщений: 6,544
20.09.2019, 17:44 2
Лучший ответ Сообщение было отмечено ned0emo как решение

Решение

Цитата Сообщение от ned0emo Посмотреть сообщение
При таком количестве элементов, мой проц ищет больше секунды, разница должна быть заметна.
С чего бы это вдруг? "При таком количестве элементов" производительность скорее всего доминируется затратами на доступ к памяти и разница в примерно одну процессорную инструкцию просто бесследнго тонет в этом.
1
0 / 0 / 0
Регистрация: 20.09.2019
Сообщений: 2
21.09.2019, 17:03  [ТС] 3
Цитата Сообщение от "TheCalligrapher Посмотреть сообщение
производительность скорее всего доминируется затратами на доступ к памяти
Мдаа, не подумал чет, что память тормозит процесс
Пасиб
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2019, 17:03

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Поиск. Последовательный поиск
Через 2 дня сдавать лабу =-O , а я до сих пор ни могу с ней справиться :umnik: ... Препад, чесное...

Метод поиска - последовательный с барьером
Нужно найти в каждой строке матрицы координаты элемента, равного k( если таковые имеются). Метод...

Последовательный вызов методов класса
Здравствуйте. Есть два метода, как их запихнуть в класс, чтобы оба работали, сначала один, затем...

Индексно-последовательный метод поиска
Ребята, помогите пожалуйста. Не могу понять где ошибка и почему мне выдает какую-то ерись. В общем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.