Jump to content

Rose tree: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Tags: Mobile edit Mobile web edit
Not a data structure but the plant!
Line 1: Line 1:
{{for|the species of rhododendron|Rhododendron maximum}}
{{for|the species of rhododendron|Rhododendron maximum}}


In [[computing]], a '''multi-way tree''' or '''rose tree''' is a [[Tree (data structure)|tree]] data structure with a variable and unbounded number of branches per node.<ref>[http://www.haskell.org/haskellwiki/Algebraic_data_type#Rose_tree Haskell Wiki], accessed 26 January 2012</ref>{{better source|date=September 2014}} The name ''rose tree'' for this structure is prevalent in the [[functional programming]] community, e.g., in the context of the [[Bird–Meertens formalism]].<ref>{{cite journal |last=Malcolm |first=Grant |title=Data structures and program transformation |journal=Science of Computer Programming |volume=14 |issue=2 |year=1990 |pages=255–279}}</ref> It was coined by [[Lambert Meertens]] to evoke the similarly-named, and similarly-structured, [[Rhododendron (data structure)|rhododendron]].<ref>{{cite journal |last=Skillicorn |first=David B. |title=Parallel implementation of tree skeletons |journal=J. Parallel and Distributed Computing |volume=39 |issue=2 |year=1996 |pages=115–125 |url=http://ftp.qucis.queensu.ca/TechReports/Reports/1995-380.pdf}}</ref>
In [[computing]], a '''multi-way tree''' or '''rose tree''' is a [[Tree (data structure)|tree]] data structure with a variable and unbounded number of branches per node.<ref>[http://www.haskell.org/haskellwiki/Algebraic_data_type#Rose_tree Haskell Wiki], accessed 26 January 2012</ref>{{better source|date=September 2014}} The name ''rose tree'' for this structure is prevalent in the [[functional programming]] community, e.g., in the context of the [[Bird–Meertens formalism]].<ref>{{cite journal |last=Malcolm |first=Grant |title=Data structures and program transformation |journal=Science of Computer Programming |volume=14 |issue=2 |year=1990 |pages=255–279}}</ref> It was coined by [[Lambert Meertens]] to evoke the similarly-named, and similarly-structured, [[common rhododendron]].<ref>{{cite journal |last=Skillicorn |first=David B. |title=Parallel implementation of tree skeletons |journal=J. Parallel and Distributed Computing |volume=39 |issue=2 |year=1996 |pages=115–125 |url=http://ftp.qucis.queensu.ca/TechReports/Reports/1995-380.pdf}}</ref>


==Definition==
==Definition==

Revision as of 17:57, 15 June 2015

In computing, a multi-way tree or rose tree is a tree data structure with a variable and unbounded number of branches per node.[1][better source needed] The name rose tree for this structure is prevalent in the functional programming community, e.g., in the context of the Bird–Meertens formalism.[2] It was coined by Lambert Meertens to evoke the similarly-named, and similarly-structured, common rhododendron.[3]

Definition

The following is a definition in Haskell:

data RoseTree a = RoseTree a [RoseTree a]

Sources

  1. ^ Haskell Wiki, accessed 26 January 2012
  2. ^ Malcolm, Grant (1990). "Data structures and program transformation". Science of Computer Programming. 14 (2): 255–279.
  3. ^ Skillicorn, David B. (1996). "Parallel implementation of tree skeletons" (PDF). J. Parallel and Distributed Computing. 39 (2): 115–125.