Sep 14

Зашел сегодня на блог одного знакомого. И тогда и сейчас у него было обьявление о наборе программистов в его фирму, писать на PHP. В качестве “пробы” предлагалось, да и предлагается, решить такую задачу:

Есть текстовый файл, в котором находится описание дерева в следующем виде:

node_id|parent_id|node_name

parent_id - id родителя, если оно равно 0 - это корневой узел.

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

Файл-пример содержит:

1|0|Electronics
2|0|Video
3|0|Photo
4|1|MP3 player
5|1|TV
6|4|iPod
7|6|Shuffle
8|3|SLR
9|8|DSLR
10|9|Nikon
11|9|Canon
12|11|20D

Ответом должно быть:

Electronics
	MP3 player
		iPod
			Shuffle
	TV
Video
Photo
	SLR
		DSLR
			Nikon
			Canon
				20D

Тут еще заметки относительно решения есть.

Где-то полгода назад я пробовал ее решить. Решил. Очень по идиотскому, даже вспоминать не хочется. Сейчас вот зашел на блог и захотелось опять попробовать решить задачу… И вот сейчас хочется услышать/увидеть ваши решения. Интересует именно алгоритм, писать можете на любом языке (для C++-ников предлагаю вставить вместо разделителя “|” пробел, чтобы не парится с считыванием из файла).

PS. Моим новым решением я тоже поделюсь… Потом. ;)

PPS. JQuery 1.2 - объявлен новый пользовательский интерфейс для платформы Java - Да… Не перевелись еще идиоты на Руси…

written by FX Poster \\ tags: