2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3  След.
 
 Re: Частое обновление массива.
Сообщение18.03.2013, 14:17 
Заслуженный участник
Аватара пользователя


23/08/07
5494
Нов-ск
nikvic в сообщении #697570 писал(а):
Работа с массивом" - три операции: читать элемент, записать значение в элемент, инициализировать всё значением.

Задача состоит в описании структуры, для которой все три укладываются в константу "времени", не зависящую от длины массива.

В каждый элемент массива (по каждому адресу) требуется записать новое число. Да или нет?

 Профиль  
                  
 
 Re: Частое обновление массива.
Сообщение18.03.2013, 14:19 
Заслуженный участник


04/05/09
4587
nikvic в сообщении #697570 писал(а):
Или поясните, что значит "версия".
К каждому значению положить рядом ещё одно число - версию. Памяти да, понадобится больше, например в два раза, ну так это всегда так: хочется быстрее - добавь памяти.

 Профиль  
                  
 
 Re: Частое обновление массива.
Сообщение18.03.2013, 14:22 
Заслуженный участник
Аватара пользователя


06/04/10
3152
venco в сообщении #697572 писал(а):
К каждому значению положить рядом ещё одно число - версию.

Ок. Ещё и пару "значение-версия" рядом со всем массивом.
Осталось детализировать работу с такой структурой.

 Профиль  
                  
 
 Re: Частое обновление массива.
Сообщение18.03.2013, 17:05 
Заслуженный участник
Аватара пользователя


23/08/07
5494
Нов-ск
nikvic в сообщении #697574 писал(а):
Осталось детализировать работу с такой структурой.

Осталось признаться, что массив не обновляется.

 Профиль  
                  
 
 Re: Частое обновление массива.
Сообщение18.03.2013, 17:16 
Заслуженный участник
Аватара пользователя


06/04/10
3152
повторюсь:
Задача состоит в описании структуры, для которой все три укладываются в константу "времени", не зависящую от длины массива.

 Профиль  
                  
 
 Re: Частое обновление массива.
Сообщение18.03.2013, 17:22 
Заслуженный участник
Аватара пользователя


23/08/07
5494
Нов-ск
nikvic в сообщении #697671 писал(а):
повторюсь:
Задача состоит в описании структуры, для которой все три укладываются в константу "времени", не зависящую от длины массива.

Тогда ответьте на вопрос: каждый элемент массива должен измениться на новый или нет?

 Профиль  
                  
 
 Re: Частое обновление массива.
Сообщение18.03.2013, 17:26 
Заслуженный участник
Аватара пользователя


06/04/10
3152

(Оффтоп)

Вы хотите решение? ""Их есть у меня :D


Сама структура описана.

 Профиль  
                  
 
 Re: Частое обновление массива.
Сообщение18.03.2013, 17:32 
Заслуженный участник
Аватара пользователя


23/08/07
5494
Нов-ск
nikvic в сообщении #697685 писал(а):

(Оффтоп)

Вы хотите решение? ""Их есть у меня :D


Сама структура описана.

Что понимаете под инициализацией массива? Вы сами начали с инициализации, а теперь не хотите объяснять, что под ней понимаете. Так что задача Ваша выглядит так: сделай то, не скажу, что, но чтобы это не зависело от длины массаива.

 Профиль  
                  
 
 Re: Частое обновление массива.
Сообщение18.03.2013, 17:36 
Заслуженный участник
Аватара пользователя


06/04/10
3152
TOTAL в сообщении #697691 писал(а):
Вы сами начали с инициализации, а теперь не хотите объяснять, что под ней понимаете.

Под инциализацией "значением" я понимаю такое действие со структурой, что последующие операции "читать из места" дают это значение - если, конечно, в промежутке в это место не записано другое значение.

 Профиль  
                  
 
 Re: Частое обновление массива.
Сообщение18.03.2013, 17:39 
Заслуженный участник
Аватара пользователя


23/08/07
5494
Нов-ск
nikvic в сообщении #697695 писал(а):
Под инциализацией "значением" я понимаю такое действие со структурой, что последующие операции "читать из места" дают это значение - если, конечно, в промежутке в это место не записано другое значение.
Действия с какой структурой? Лично я в последний раз подожду вменяемой формулировки.

 Профиль  
                  
 
 Re: Частое обновление массива.
Сообщение18.03.2013, 17:47 
Заслуженный участник
Аватара пользователя


06/04/10
3152

(Оффтоп)

Собеседование в Yahoo Вы не прошли :?

 Профиль  
                  
 
 Re: Частое обновление массива.
Сообщение18.03.2013, 18:06 
Заслуженный участник
Аватара пользователя


23/08/07
5494
Нов-ск
nikvic в сообщении #697702 писал(а):

(Оффтоп)

Собеседование в Yahoo Вы не прошли :?

(Оффтоп)

Спросите в Yahoo, о чем задача, если сами не можете сформулировать.

 Профиль  
                  
 
 Re: Частое обновление массива.
Сообщение18.03.2013, 20:14 
Заслуженный участник


27/04/09
28128
Давайте я формализую структуру nikvic.

Есть структура данных, хранящая $n$ элементов (для удобства, а то и так много писать) с типом $A_n$ (у индексов тип $I_n$, у значений — $V$) и три операции:
  • $\mathrm{init}(a : A_n, v : V) : A_n$,
  • $\mathrm{set}(a : A_n, i : I_n, v : V) : A_n$,
  • $\mathrm{get}(a : A_n, i : I_n) : V$.

Эти операции должны удовлетворять следующим соотношениям:
  1. $\mathrm{get}(\mathrm{set}(a, i, v), j) = \mathop\mathbf{if} i=j \mathrel\mathbf{then} v \mathrel\mathbf{else} \mathrm{get}(a, j)$,
  2. $\mathrm{get}(\mathrm{init}(a, v), j) = v$.
И даже вроде больше никаким.

И, конечно, каждая их них должна вычисляться за $O(1)$ времени относительно $n$.

Не обязательно такая структура должна иметь в своём воплощении какие-нибудь массивы.

Сразу видно, что способом venco любую структуру, реализующую $\mathrm{get}$ и $\mathrm{set}$ с временной сложностью $O(1)$ — а не только массив — можно превратить в искомую.

(Формализация получилась очень неудачная, но верная для того, кто понимает использованные обозначения так же, как я сейчас.)

 Профиль  
                  
 
 Re: Частое обновление массива.
Сообщение18.03.2013, 20:25 
Заслуженный участник
Аватара пользователя


23/08/07
5494
Нов-ск
arseniiv в сообщении #697801 писал(а):
Есть структура данных, хранящая $n$ элементов (для удобства, а то и так много писать) с типом $A_n$ (у индексов тип $I_n$, у значений — $V$) и три операции:
  • $\mathrm{init}(a : A_n, v : V) : A_n$,
  • $\mathrm{set}(a : A_n, i : I_n, v : V) : A_n$,
  • $\mathrm{get}(a : A_n, i : I_n) : V$.

Эти операции должны удовлетворять следующим соотношениям:
  1. $\mathrm{get}(\mathrm{set}(a, i, v), j) = \mathop\mathbf{if} i=j \mathrel\mathbf{then} v \mathrel\mathbf{else} \mathrm{get}(a, j)$,
  2. $\mathrm{get}(\mathrm{init}(a, v), j) = v$.

А теперь вместо этой лабуды условие русским языком.

 Профиль  
                  
 
 Re: Частое обновление массива.
Сообщение18.03.2013, 20:36 
Заслуженный участник


27/04/09
28128
То русское, что было в начале, из-за понятности мне я не могу перевести ещё раз. :?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу Пред.  1, 2, 3  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group