Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / binary search / 9 сообщений из 9, страница 1 из 1
05.02.2017, 15:27
    #39398865
Denis.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
binary search
привет, коллеги.
Встроенный сабдж есть по произвольному филду элемента? Кастомный компарер не предлагать, так как там придется создавать элемент.
Задача - найти в отсортированной последовательности объектов заданный по дате.
...
Рейтинг: 0 / 0
05.02.2017, 15:28
    #39398866
Denis.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
binary search
в нугетах что-то тоже не нашел подобного.
...
Рейтинг: 0 / 0
06.02.2017, 20:03
    #39399612
Т-Миронов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
binary search
Denis.привет, коллеги.
Встроенный сабдж есть по произвольному филду элемента? Кастомный компарер не предлагать, так как там придется создавать элемент.
Задача - найти в отсортированной последовательности объектов заданный по дате.

Чет я не понял, чем плох компарер. Разъясните?
...
Рейтинг: 0 / 0
07.02.2017, 13:12
    #39400010
Denis.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
binary search
Т-Миронов,

компарер принимает 2 объекта одинакового типа. Допустим, у меня есть список объектов типа "человек", у данного типа есть поле "дата рождения". Мне нужно быстро найти сколько людей родилось после заданной даты. Для того чтобы использовать компарер, чтобы он мне вернул индекс(куда вставить, как правило в моем случае) мне нужно передать объект "человек", но у мня нет такого объекта, у меня есть лишь объект дата, делать специально пустой объект "человек", проставлять ему дату рождения и скармливать методу плохое решение.
...
Рейтинг: 0 / 0
07.02.2017, 13:29
    #39400044
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
binary search
Denis.Мне нужно быстро найти сколько людей родилось после заданной даты.
Боюсь в стандартном виде бинарный поиск тебе не поможет, т.к. он ищет точное совпадение, а его может не быть при такой постановке. Думаю придется самому писать.
...
Рейтинг: 0 / 0
07.02.2017, 13:33
    #39400047
Т-Миронов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
binary search
Если не создать инстанс класа "человек" можнло сделать так

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
class Human : ISomethingWithBithDate
{
DateTime BithDate { get; };
}

calss BithDaySearchCriteria : ISomethingWithBithDate
{
DateTime BithDate { get; set; };
}
...
Рейтинг: 0 / 0
07.02.2017, 13:42
    #39400066
Denis.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
binary search
Dima TDenis.Мне нужно быстро найти сколько людей родилось после заданной даты.
Боюсь в стандартном виде бинарный поиск тебе не поможет, т.к. он ищет точное совпадение, а его может не быть при такой постановке. Думаю придется самому писать.
Это не так.
При отсутствии элемента он возвращает отрицательный индекс позиции куда вставить элемент
...
Рейтинг: 0 / 0
07.02.2017, 13:46
    #39400070
Denis.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
binary search
Т-МироновЕсли не создать инстанс класа "человек" можнло сделать так

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
class Human : ISomethingWithBithDate
{
DateTime BithDate { get; };
}

calss BithDaySearchCriteria : ISomethingWithBithDate
{
DateTime BithDate { get; set; };
}


Я знаю уйму способов как это можно сделать.
Меня интересует единственно верный: метод или из Фреймворка или из нугета. Написать этот метод тривиально, тем нее менее задача слишком типичная чтоб засорять кодбазу.
...
Рейтинг: 0 / 0
07.02.2017, 13:53
    #39400086
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
binary search
Denis.Это не так.
При отсутствии элемента он возвращает отрицательный индекс позиции куда вставить элемент
Точно, неправ. Невнимательно хэлп читал.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / binary search / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]