fsbrn@BRL.MIL (Pascal Postman) (12/01/89)
Hi,
I don't keep formal archives of the info-pascal mailing list, just an
automatic copy of every piece of mail. There haven't been many
programs posted anyway. Can anyone help Bill?
dsw, fferd
Fred S. Brundick
aka Pascal Postman
USABRL, APG, MD.
<info-pascal-request@brl.mil>
----- Forwarded message # 1:
Received: from smoke.brl.mil by VIM.BRL.MIL id aa04878; 30 Nov 89 12:58 EST
Received: from caviar.nosc.mil by SMOKE.BRL.MIL id aa08849; 30 Nov 89 12:50 EST
Date: 30 Nov 89 09:42:00 PDT
From: William Sweetman <sweetman@caviar.nosc.mil>
Subject: help - binary search tree
To: info-pascal-request <info-pascal-request@BRL.MIL>
Message-ID: <8911301250.aa08849@SMOKE.BRL.MIL>
help.
looking for a recursive binary search tree procedure written in pascal.
is there one in your archive files??
i'm at a loss with pascal.
thank you,
-bill sweetman <sweetman@caviar.nosc.mil>
----- End of forwarded messagesreino@cs.eur.nl (Reino de Boer) (12/01/89)
fsbrn@BRL.MIL (Pascal Postman) writes: >[...text deleted...] Can anyone help Bill? >----- Forwarded message # 1: >looking for a recursive binary search tree procedure written in pascal. There are several algorithms in Pascal in: Niklaus Wirth -- Algorithms + Data Structures = Programs Prentice Hall (1976) I think particularly Program 4.4 on pages 203--204 is what you're looking for. Hope this helps -- Reino -- Reino R. A. de Boer Erasmus University Rotterdam ( Informatica ) e-mail: reino@cs.eur.nl
bigelow@hpfcso.HP.COM (Jim Bigelow) (12/02/89)
I suggest that you look at the algorithms and programs in "Algorithms +
Data Structurs = Programs" by N. Wirth. Chapter 4, Section 4.4 is titled
"Tree Structures" and subsection 4.4.10 is "Optimal Search Trees."
From the same book, Page 204, I've paraphrased the following search routine:
procedure search(x:integer; var p:ref);
begin
if p = nil then
begin
{ x not in tree, insert or inform user as you wish}
end else
if x < p^.key then search(x,p^.left) else
if x > p^.key then search*x,p^.right) else
p^.count := p^.count + 1
end {search};
You'll have to modify the defintion and uses of "ref" which is a pointer to a
tree node.
Best Regards,
Jim Bigelow
S300 Pascal
Hewlett Packard.