Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как создать многомерную матрицу????? (https://javascript.ru/forum/misc/24912-kak-sozdat-mnogomernuyu-matricu.html)

B~Vladi 23.01.2012 09:04

Цитата:

Сообщение от Даша Соколова
И вообще у гвоздя спросила что еще кроме рекурсии я не знаю что должна знать из той же серии? Ну а заодно и у всех.

Ну раз речь о рекурсии, то тебе обязательно нужно знать, что всегда можно обойтись без неё, если заменить на while, например.
Итерация цикла всегда легче вызова функции.

trikadin 23.01.2012 09:59

Цитата:

Сообщение от B~Vladi
Ну раз речь о рекурсии, то тебе обязательно нужно знать, что всегда можно обойтись без неё, если заменить на while, например.
Итерация цикла всегда легче вызова функции.

Тогда ещё нужно добавить про структуры данных, в частности стек. Ибо без стека, как правило, рекурсию циклом не заменишь.

А раз уж пошла такая пьянка (ну, типы данных), то вам ещё нужно выучить контейнеры (это массивы, списки, очереди, хеши, и другие весёлые вещи).

Как выучите - приходите за добавкой.

B~Vladi 23.01.2012 10:55

Цитата:

Сообщение от trikadin
в частности стек

Раз уж такая пьянка, то стоит вспомнить про стек вызовов функций в рекурсии. Размер этого стека ограничен. Не говоря уже про объем потребляемой памяти (нужно же хранить scope каждого вызова). Я как-то уперся в него в этом шаблонизаторе, когда создал 3000 элементов вывода свойства ({{name}}).

trikadin 23.01.2012 11:24

Цитата:

Сообщение от B~Vladi
Раз уж такая пьянка, то стоит вспомнить про стек вызовов функций в рекурсии. Размер этого стека ограничен. Не говоря уже про объем потребляемой памяти (нужно же хранить scope каждого вызова).

+1)

Цитата:

Сообщение от B~Vladi
Я как-то уперся в него в этом шаблонизаторе, когда создал 3000 элементов вывода свойства ({{name}}).

Я вообще рекурсию недолюбливаю. Она, конечно, красивая, простая, и всё такое, но не экономная.

Даша Соколова 24.01.2012 15:36

Цитата:

Сообщение от B~Vladi
Ну раз речь о рекурсии, то тебе обязательно нужно знать, что всегда можно обойтись без неё, если заменить на while, например.
Итерация цикла всегда легче вызова функции.

Как я понимаю в таком случае нужно будет программно эмулировать стек?
Все прочитала дальше, буду смотреть. Спасибо!

Даша Соколова 24.01.2012 15:42

Расскажите мне про vector, tree в js?

дерево как я понимаю реализуется вложенными обьектами.
Как реализуется вектор?

melky 24.01.2012 16:21

? поподробнее. для меня. вектор - это
a = { 'x' : 3, 'y' : -5, 'z' : 54  }

trikadin 24.01.2012 16:54

Для меня вектором является реализация линейного массива в stdlib в с++. Если я правильно понял, что нужно человеку...

Она реализуется через a=[]. О ней можно почитать в разделе "Массивы" учебника на этом сайте.

Gozar 24.01.2012 17:29

Вектор, это?

trikadin 24.01.2012 19:53

Вот всё-таки правда молочные железы правят миром.

Товарищи, давайте очередь организуем, что ли)

Даша Соколова 24.01.2012 21:28

Цитата:

Сообщение от trikadin
Вот всё-таки правда молочные железы правят миром.

:D спасибо
То есть вектор это массив, тогда что такое карта map?

trikadin 24.01.2012 21:48

Цитата:

Сообщение от Даша Соколова
То есть вектор это массив, тогда что такое карта map?

Это хеш. В javascript это объекты. a={}

Даша Соколова 24.01.2012 21:50

А tree что такое?

trikadin 24.01.2012 21:53

Цитата:

Сообщение от Даша Соколова
А tree что такое?

Внезапно - дерево. Реализуется на массивах, rtfm.

Даша Соколова 24.01.2012 21:57

Я не поняла..... Что дерево это понятно.
Разве это не

{ a : 9,
b : {d:1},
c : {e:2}}

?

свойства это узлы дерева, нет?

Gozar 24.01.2012 22:01

Цитата:

Сообщение от trikadin (Сообщение 152600)
Внезапно - дерево. Реализуется на массивах, rtfm.

В js ты дерево на массивах не построишь.
В js объект по сути и есть дерево, если он большой и ветвится.

Gozar 24.01.2012 22:01

Цитата:

Сообщение от Даша Соколова (Сообщение 152603)
Я не поняла..... Что дерево это понятно.
Разве это не

{ a : 9,
b : {d:1},
c : {e:2}}

?

свойства это узлы дерева, нет?

да, только свойство это скорее не узел а название ветки. Свойство и его значение - это узел. Как-то так.

Даша Соколова 24.01.2012 22:01

Цитата:

Сообщение от Gozar
В js объект по сути и есть дерево, если он большой и ветвится.

Значит я была права!

Даша Соколова 24.01.2012 22:02

Цитата:

Сообщение от Gozar (Сообщение 152608)
да.

Спасибо:) !
А еще что-то есть?

Gozar 24.01.2012 22:05

Цитата:

Сообщение от Даша Соколова (Сообщение 152610)
Спасибо:) !
А еще что-то есть?

Где-то, кто-то, ходит. Кто здесь?!

Ты спроси что интересует, типы данных или что?

Gozar 24.01.2012 22:07

А массив это стек. Вернее с ним можно работать как со стеком.

Даша Соколова 24.01.2012 22:07

Меня интересуют разные штуки, и приемчики на манер рекурсии и стеков.

Gozar 24.01.2012 22:14

Цитата:

Сообщение от Даша Соколова (Сообщение 152614)
Меня интересуют разные штуки, и приемчики на манер рекурсии и стеков.

Барыжишь ими на рынке что ли?

Почитай всю математику и базы данных + паттерны. ЭТО ВСЁ можно применять и геометрию тоже, если что.

Даша Соколова 24.01.2012 22:15

Пошла читать всю математику и базы данных, что за паттнеры?

Gozar 24.01.2012 22:26

Цитата:

Сообщение от Даша Соколова (Сообщение 152620)
Пошла читать всю математику и базы данных, что за паттнеры?

http://javascript.ru/forum/study/126...-patterns.html Книга уже есть на Русском языке

trikadin 24.01.2012 22:40

Цитата:

Сообщение от Gozar
В js ты дерево на массивах не построишь.

Почему?) Двоичное можно даже в обычном одинарном массиве сделать, а остальные реализуются многомерными массивами, при желании...

trikadin 24.01.2012 22:41

Цитата:

Сообщение от Даша Соколова
Пошла читать всю математику и базы данных

А сначала это сделать, а потом спрашивать - не?

Даша Соколова 24.01.2012 22:42

Дай ссылку на книгу? Или она платная?

trikadin 24.01.2012 22:55

Цитата:

Сообщение от Даша Соколова
Дай ссылку на книгу? Или она платная?

Кнут. "Искусство программирования"

Gozar 24.01.2012 23:01

Цитата:

Сообщение от trikadin (Сообщение 152623)
Почему?) Двоичное можно даже в обычном одинарном массиве сделать

Пример в студию пожалуйста. Что это за дерево такое?

Цитата:

Сообщение от trikadin (Сообщение 152623)
многомерными массивами, при желании...

Когда в js появились многомерные массивы?

trikadin 24.01.2012 23:29

Цитата:

Сообщение от Gozar
Пример в студию пожалуйста. Что это за дерево такое?

Всё просто. Для i-ного элемента (при нумерации с нуля), левый потомок - это 2i+1, а правый - 2i+2.

Цитата:

Сообщение от Gozar
Когда в js появились многомерные массивы?

[[][]]. Да, я называю это многомерными массивами)

Gvozd 24.01.2012 23:31

Цитата:

Сообщение от Даша Соколова
И вообще у гвоздя спросила что еще кроме рекурсии я не знаю что должна знать из той же серии?

Если что, то я затруднился с ответом, так как не знаю что ты знаешь, а что еще нет.
Ответом на этот вопрос может быть только последовательный пересказ учебника, чтоли.
В свою очередь, по учебникам, посоветовать ничего конкретного не могу

Gozar 24.01.2012 23:35

Цитата:

Сообщение от trikadin (Сообщение 152647)
[[][]]. Да, я называю это многомерными массивами)

На баян похоже :D

trikadin 24.01.2012 23:37

Цитата:

Сообщение от Gozar
На баян похоже

:)

FINoM 25.01.2012 00:45

На квадратные сиськи скорее.

А что? Тут все о сиськах, я тоже хочу.

trikadin 25.01.2012 01:11

Цитата:

Сообщение от FINoM
А что? Тут все о сиськах, я тоже хочу.

А ты перед кем оправдываешься? ;)

FINoM 25.01.2012 01:22

Цитата:

Сообщение от trikadin
А ты перед кем оправдываешься?

Перед собой :D

Shaci 25.01.2012 01:55

Цитата:

Сообщение от trikadin (Сообщение 152647)
Всё просто. Для i-ного элемента (при нумерации с нуля), левый потомок - это 2i+1, а правый - 2i+2.


[[][]]. Да, я называю это многомерными массивами)

поясните дураку, чем массив массивов от многомерного массива отличается?

melky 25.01.2012 02:00

Цитата:

Сообщение от Shaci (Сообщение 152684)
поясните дураку, чем массив массивов от многомерного массива отличается?

arr[1][2]... 
// массив массивов

// ....

arr[1, 2]
// многомерный массив.

это из паскаля (

trikadin 25.01.2012 02:34

Цитата:

Сообщение от melky
это из паскаля (

Больше я такого и не видел нигде... Хотя может в бейсиках. Во всех вменяемых языках типа С, Java, даже php - многомерные массивы - это массивы массивов.


Часовой пояс GMT +3, время: 10:47.