Я думаю, что вы имеете в виду символ на узел ... что-то вроде простой схемы хеш-дерева для поиска по ключевым словам. Предполагая, что это или даже другой вид дерева ... представьте себе что-то вроде этого (в псевдо-LISP):
(defun buildtree (wordlist) ...code to build tree recursively returns the tree...)
(define lookup (tree word) ...code to look up word using tree, returns t or nil...)
(defun lookupmany (tree querylist)
(if (eq querylist nil)
nil
(cons (lookup tree (car querylist)) (lookupmany tree (cdr querylist))
)
)
(defun main (wordlist querylist) ; the main entry point
(lookupmany (buildtree wordlist) querylist)
)
если это то, что вы имеете в виду, то это довольно простое функциональное программирование.
Это действительно без гражданства? Это предмет спора. Некоторые люди скажут, что некоторые
формы функционального программирования хранят то, что мы обычно называем «состоянием» в стеке.
Более того, Common LISP даже после первого издания книги Стила
конструкции, и LISP долгое время занимался setq.
Но в теории языков программирования то, что мы подразумеваем под словом «не сохраняющее состояние», в значительной степени удовлетворяется представленной здесь идеей.
Я думаю, что вышеупомянутое - что-то вроде того, что вы имеете в виду.