powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Различные структуры данных. Реализация
25 сообщений из 422, страница 3 из 17
Различные структуры данных. Реализация
    #38860792
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошая тема по поводу MSSQL. Тестил на Ораклах, Постгресах, МайСКЛ.

Надо потестить еще на МС.
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38860794
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivRushmore в FoxPro вроде ровно это и делал (пересечения индексов)
рашмор такие пересечения не оптимизирует
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
create table fuckenOperations (id i, begin d, end d)
insert into fuckenOperations values (1, date() - 10, date() - 5)
insert into fuckenOperations values (2, date() - 7, date() + 5)
insert into fuckenOperations values (3, date() + 3, date() + 10)
index on begin tag idx_begin 
index on end tag idx_end 

sys(3054, 12) && Вкл. вывод работы оптимизатора
select * from fuckenOperations where date() between begin and end

Результатselect * from fuckenOperations where date() between begin and end
Rushmore optimization level for table fuckenoperations: none
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38860917
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TMasterZivRushmore в FoxPro вроде ровно это и делал (пересечения индексов)
рашмор такие пересечения не оптимизирует
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
create table fuckenOperations (id i, begin d, end d)
insert into fuckenOperations values (1, date() - 10, date() - 5)
insert into fuckenOperations values (2, date() - 7, date() + 5)
insert into fuckenOperations values (3, date() + 3, date() + 10)
index on begin tag idx_begin 
index on end tag idx_end 

sys(3054, 12) && Вкл. вывод работы оптимизатора
select * from fuckenOperations where date() between begin and end

Результатselect * from fuckenOperations where date() between begin and end
Rushmore optimization level for table fuckenoperations: none


Да теперь уже и не выяснить точно.
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38860945
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть упоминания в разделах MS Vis FoxPro.

Using Rushmore Query Optimization to Speed Data Access
https://msdn.microsoft.com/en-us/library/1f5d2sa3(v=vs.80).aspx

Но не могу найти связей или ссылок к MSSQL.
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38861061
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну не знаю, может и глюки у меня.
ложная память.
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38861150
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivА может и не забыли.
насколько я помню - не забыли
давно читал о судьбе оного
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38861343
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivДа теперь уже и не выяснить точно.
Я же тебе показал сообщение фокспрошного оптимизатора. "none" - значит не используется рашмор.

maytonНо не могу найти связей или ссылок к MSSQL.
Связь на уровне слухов: движок MSSQL допиливала та же команда разработчиков, которая делала фокс.

PS Фоксовый рашмор был супер-технологией 25 лет назад, когда его изобрели. После этого каких-то серьезных доработок движка не было. MS после покупки FoxPro 2.0 DOS допилил только интерфейсную часть (перевел под виндовс).
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38861355
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
рашмор такие пересечения не оптимизирует
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
create table fuckenOperations (id i, begin d, end d)
insert into fuckenOperations values (1, date() - 10, date() - 5)
insert into fuckenOperations values (2, date() - 7, date() + 5)
insert into fuckenOperations values (3, date() + 3, date() + 10)
index on begin tag idx_begin 
index on end tag idx_end 

sys(3054, 12) && Вкл. вывод работы оптимизатора
select * from fuckenOperations where date() between begin and end

Результатselect * from fuckenOperations where date() between begin and end
Rushmore optimization level for table fuckenoperations: none

Поэксперементировал немного, если запрос переписать так
Код: sql
1.
select * from fuckenOperations where begin <= date() and end >= date()


соптимизируется рашмором и задействует оба индекса.
логи оптимизатораUsing index tag Idx_begin to rushmore optimize table fuckenoperations
Using index tag Idx_end to rushmore optimize table fuckenoperations
Rushmore optimization level for table fuckenoperations: partial
Скорее всего произойдет следующее: прочитаются оба индекса, из каждого выберутся указатели на записи удовлетворяющие условию, найдется пересечение, прочитаются записи попавшие в пересечение.
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38861708
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я себе понимаю этот план требует полного обхода двух индексов
и генерации биткарты типа 2 колонки на количество строк в индексе с последущей
булевой операцией пересечения этих двух бит-признаков.

Верно?
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38861733
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полный обход только части индекса. Например для условия key >= X сначала находим X (или ближайшее меньшее) и дальше перебор всех последующих.

В остальном верно.
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38861741
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот вы пофлеймить, господа
лучше бы структуры написали которые стоит поковырять

2 mayton, под Decart Tree имелось ввиду бинарное Декартово дерево (которое в качестве Ordered Map можно использовать), а не декартово дерево отрезков
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38861976
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan), структуры которые стоит поковырять? Ну... давай список. Мыж не Базисты.

Мне вообще всегда интересна прикладная задача в применении к структурам.
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38862128
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

От умеют люди испортить топик. Особенно модераторы
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38862210
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы не поверите что вчера было.

Мне вчера принесли книгу Бьёрна Страуструпа, но она 2001 года. Я зашел в книжный магазин, ибо мало ли чего в последней версии изменили, хотел купить новую. Той книги там конечно не было(буду читать что есть). Зато я встретил книгу про Java, автор Роберт Лафоре. Называется примерно "Cтруктуры и алгоритмы на Java". Не удержался, и вы знаете что я нашёл в содержании и затем открыл. И когда посмотрел как реализован стек, то удивился, ибо максимальный размер стека хранился в структуре Stack.

Я конечно больше верю Анатолию, и вероятно так не стоит делать (хотя сам для себя ещё не доказал почему не стоит), но зато пришел к выводу, что и в книгах бывают вот такие ошибки или как минимум неоднозначно правильные реализации.
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38862239
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercury,

почему же ошибки?

Все приведённые варианты "правильны"
главное чтоб применялись адекватно задаче.

Для встроенной системы, например, вполне адекватно выглядит стек на базе статического массива фиксированного размера
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38862267
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercury,

Тут надо понимать, что у автора книги нет задачи создать применимую на практике программу.
У него задача - продать книгу
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38862378
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саш. Есть разные уровни понимания и приятия наук. Это как классическая механика и СТО. Они
не противоречат друг другу. Просто одна из них дополняет и расширяет другую. Смысл операций
со стеком можно объянисть одной картинкой. Или примером из жизни. А как его закодить на конкретном
ЯП под конкретные ЗАДАЧИ - это другой левел понимания. Стек может быть нативным (сегмент стека
в ассемблерной программе) или реализованным поверх массива, списка, дека. Или каких нибудь
древоводиных структур. Это всё - СТЕКИ. И они все правильные.
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38862501
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Марк,
нет, классическая механика это только приближение к реальному положению дел при малых скоростях(и вполне возможно что специальная теория относительности также приближение).


Тогда, скорее все они(реализации стека) неправильные. У каких-то больше недостатков, у каких-то меньше. Ну да ладно, главное, вашу идею понял, только интерпретация будет такая, как написал предложением выше :)
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38862521
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не надо так прямолинейно переносить "игры разума" (компьютеры) на реальную жизнь (физика).
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38862928
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток.

Анатолий, кажется я понял почему вы говорили что не стоит хранить максимальное число элементов в структуре Stack.
Если все стеки предполагаются одинакового размера, то смысла в этом действительно нет никакого. Но моё проектирование было рассчитано на создание стеков различной мощности, потому размер привязал к объекту. Правильно ли я понял ?
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38862944
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЕще лучше кидать исключение, но их нет в С.

Можно их имитировать через setjump/longjump.

Спасибо за совет. Странно, в стандарте Си не нашёл об этом ничего. По ощущениям, это как-то связано с goto
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38862974
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryАнатолий, кажется я понял почему вы говорили что не стоит хранить максимальное число элементов в структуре Stack.
Я такое не говорил ))
Я говорил что не стоит закладывать такое ограничение в сам дизайн стека. Т.е. стек должен быть произвольного размера, а ограничение, если оно нужно, - проверять отдельно от реализации стека.
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38863264
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskySashaMercuryАнатолий, кажется я понял почему вы говорили что не стоит хранить максимальное число элементов в структуре Stack.
Я такое не говорил ))
Я говорил что не стоит закладывать такое ограничение в сам дизайн стека. Т.е. стек должен быть произвольного размера, а ограничение, если оно нужно, - проверять отдельно от реализации стека.

а где хранить эти ограничения на стек ? Это я к тому, что пусть в программе будет использоваться 100 стеков, например
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38863271
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercury
а где хранить эти ограничения на стек ? Это я к тому, что пусть в программе будет использоваться 100 стеков, например

1. просто переменную заводишь и проверяешь её если нужно ограничение
2. а количество элементов только памятью доступной должно быть ограничено
...
Рейтинг: 0 / 0
Различные структуры данных. Реализация
    #38863276
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),
100 переменных заводить для 100 стеков ? Или массив переменных ?)
...
Рейтинг: 0 / 0
25 сообщений из 422, страница 3 из 17
Форумы / C++ [игнор отключен] [закрыт для гостей] / Различные структуры данных. Реализация
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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