![]() |
|
|
![]()
|
|
| Neighbour |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
Есть таблица.
Нужно реализовать алгоритм поиска по близости к заданному значению ключа в таблице, одно из полей которой ключевое. Что вообще означает это понятие "по близости к заданному значению ключа". Просмотрел несколько книг по алгоритмам - нигде не могу найти. Если Вам нетрудно - поясните, а если уж совсем легко - кусочек кода с реализацией. |
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
В данном случае имхо под "близостью" понимается следующее:
Если ввести в таблицу запись с указанным значением ключа, то самыми близкими будут предыдущая и последующая записи от этой введенной при сортировке по указанному ключу. Сортировка указывается в запросе. Таблица в реляционной БД НЕ МОЖЕТ БЫТЬ сортирована. Глупости-то не говори... думай сперва...
Сортировка указывается ASC или DESC - в зависимости от заложенного смысла понятия "ближайшая запись". Для числовых можно также использовать
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| Neighbour |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
Почему глупости? У меня не база данных а таблица. Простое институтское задание по моделям и структурам данных. Это сообщение отредактировал(а) Neighbour - 20.3.2006, 12:27 |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Ключ потому и ключ, что он однозначно идентифицирует запись. Следовательно, одинаковых ключевых полей быть не может, а если они есть - значит данные разрушены (не выполняется требование целостности). -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Neighbour |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
Ладно, уберем из формулировки слово "ключевое". Просто - поиск по одному из полей.
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
А не влияет. Ключ, не ключ - по-любому будет сортировка.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Neighbour |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
Хорошо, допустим есть таблица. Строка состоит из трех полей: имя, отчество, фамилия. Например Иван Иванович Иванов, Иван Петрович Сидоров, Василий Степанович Николаев, Василий Сергеевич Орлов. Ты хочешь сказать что е нельзя отсортировать по имени? Это не база данных. Нужна программа на любом ЯП. ЗЫ Это только пример. Нужен, как я уже говорил, поиск по близости к значению поля. Вернее само понятие, что это из себя представляет. Это сообщение отредактировал(а) Neighbour - 21.3.2006, 10:09 |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Я же тебе уже SQL-шаблон дал - корректируй по своим данным. Чего еще надо-то?
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |