1

Тема: Функції швидкого пошуку по vector<string>

Чи іншим (не vector), в алфавітному порядку. Тобто функція повинна порівнювати спершу перші літери слів, якщо збігаються порівнювати другі і так далі.

2

Re: Функції швидкого пошуку по vector<string>

Ви зараз намагаєтеся повибирати по одному пункту курс алгоритмів і структур даних. Так це не працює.
Знайдіть якусь книжку і прочитайте - ті ж "Грокаємо алгоритми", наприклад. Або будь-який курс лекцій, в мережі цього добра навалом. Можете навіть пошукати конкретно під C++.

Подякували: Tarpan871

3

Re: Функції швидкого пошуку по vector<string>

Конкретно тут, схоже, ви намагаєтеся описати префіксне дерево, але оскільки ви знову створюєте проблему XY, точно сказати складно.

Подякували: leofun011

4

Re: Функції швидкого пошуку по vector<string>

Це рівень технічного універу, приблизно третій-четвертий курс.

5

Re: Функції швидкого пошуку по vector<string>

v002002, ваше питання не є згоджене з текстом першого поста. Дивiться:

Функції швидкого пошуку по vector<string>

а потiм:

Чи іншим (не vector)

Справа в тому, що питання пошуку є досить складним i алгоритми швидкого пошуку повэязанi з розмiщенням данних, тобто з типом контейнера. Я можу кратко вiдповiсти про швидкий пошук по вектору string. Щоб пошук був дiйсно швидкий, вектор має бути отсортований згiдно того предiкату, згiдно якого, ви будете шукати. Для цього використовують, функцiї бiнарного пошуку такi як std::lower_bound з <algorithm>.
У текстi поста присутня також фраза, несумicна з текстом у питаннi.

Тобто функція повинна порівнювати спершу перші літери слів, якщо збігаються порівнювати другі і так далі.


Функцiї пошуку має бути байдуже за яким предiкатом вона має шукати. Тобто, вимоги до предiкату це iнше питання. До того ж стандартний предiкат для std::string який буде переданий по default (якщо ви не передасте якiйсь iнший, явно) робить саме те що ви питаєте.