Эффективно реализовать очень большой список, массивы? SPL связанный список? что-нибудь еще? - PullRequest
1 голос
/ 29 июля 2011

Мне нужно создать действительно огромное дерево, чтобы решить игру в пасьянс колышек.
Это должно быть в PHP.
Хотя у меня есть опыт работы с PHP, он в основном занимается веб-разработкой, поэтому у меня нет опыта работы с управлением памятью и большими структурами данных, с которыми я обычно справляюсь в C ++, но это тест на работу.
Я решу это с помощью некоторого обратного отслеживания с первым поиском по глубине, чтобы дерево не стало таким огромным, но в любой момент времени у меня должен быть список всех открытых узлов, которых я планирую достичь с помощью простой массив ссылок.
Это эффективно? я должен сделать это со связанным списком SPL или чем-то еще?
Я уже проверял, что массив может расти только в зависимости от оперативной памяти.

Ответы [ 2 ]

1 голос
/ 30 июля 2011

HAKMEM item 75 или входы и выходы пасьянса Peg (ISBN: 0-19-286145-X).

И не используйте массивы.

1 голос
/ 29 июля 2011

Мне кажется, что php очень эффективно обрабатывает массив и объект, см. Здесь Использует ли PHP RAM для определения переменной из переменной и передачи экземпляра объекта в другую переменную? .Так может быть, двоичное дерево было бы хорошо?Вы также можете сделать свое собственное расширение, если вы хорошо разбираетесь в C ++.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...