{"id":"https://openalex.org/W2931844481","doi":"https://doi.org/10.1017/s0956796897002803","title":"FUNCTIONAL PEARL On building trees with minimum height","display_name":"FUNCTIONAL PEARL On building trees with minimum height","publication_year":1997,"publication_date":"1997-07-01","ids":{"openalex":"https://openalex.org/W2931844481","doi":"https://doi.org/10.1017/s0956796897002803","mag":"2931844481"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796897002803","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796897002803","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/23D5C1B90A6B00A5D87239054FEDC8CF/S0956796897002803a.pdf/div-class-title-functional-pearl-on-building-trees-with-minimum-height-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/23D5C1B90A6B00A5D87239054FEDC8CF/S0956796897002803a.pdf/div-class-title-functional-pearl-on-building-trees-with-minimum-height-div.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5068829812","display_name":"Richard Bird","orcid":null},"institutions":[{"id":"https://openalex.org/I2802123492","display_name":"Oxford Research Group","ror":"https://ror.org/00z4w4f29","country_code":"GB","type":"nonprofit","lineage":["https://openalex.org/I2802123492"]},{"id":"https://openalex.org/I40120149","display_name":"University of Oxford","ror":"https://ror.org/052gg0110","country_code":"GB","type":"education","lineage":["https://openalex.org/I40120149"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"RICHARD S. BIRD","raw_affiliation_strings":["Programming Research Group, University of Oxford, Wolfson Building, Parks Rd, Oxford OX1 3QD, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Programming Research Group, University of Oxford, Wolfson Building, Parks Rd, Oxford OX1 3QD, UK","institution_ids":["https://openalex.org/I2802123492","https://openalex.org/I40120149"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5068829812"],"corresponding_institution_ids":["https://openalex.org/I2802123492","https://openalex.org/I40120149"],"apc_list":null,"apc_paid":null,"fwci":0.6045,"has_fulltext":true,"cited_by_count":5,"citation_normalized_percentile":{"value":0.79878928,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"7","issue":"4","first_page":"441","last_page":"445"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11269","display_name":"Algorithms and Data Compression","score":0.9957000017166138,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T11269","display_name":"Algorithms and Data Compression","score":0.9957000017166138,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10948","display_name":"Advanced Combinatorial Mathematics","score":0.9955999851226807,"subfield":{"id":"https://openalex.org/subfields/2607","display_name":"Discrete Mathematics and Combinatorics"},"field":{"id":"https://openalex.org/fields/26","display_name":"Mathematics"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11106","display_name":"Data Management and Algorithms","score":0.9945999979972839,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7848803997039795},{"id":"https://openalex.org/keywords/tree","display_name":"Tree (set theory)","score":0.7417105436325073},{"id":"https://openalex.org/keywords/binary-tree","display_name":"Binary tree","score":0.6793110370635986},{"id":"https://openalex.org/keywords/pearl","display_name":"Pearl","score":0.6723898649215698},{"id":"https://openalex.org/keywords/k-ary-tree","display_name":"K-ary tree","score":0.596218466758728},{"id":"https://openalex.org/keywords/optimal-binary-search-tree","display_name":"Optimal binary search tree","score":0.5882348418235779},{"id":"https://openalex.org/keywords/ternary-search-tree","display_name":"Ternary search tree","score":0.5743856430053711},{"id":"https://openalex.org/keywords/node","display_name":"Node (physics)","score":0.5731626152992249},{"id":"https://openalex.org/keywords/binary-search-tree","display_name":"Binary search tree","score":0.5658299326896667},{"id":"https://openalex.org/keywords/search-tree","display_name":"Search tree","score":0.5600106120109558},{"id":"https://openalex.org/keywords/search-engine-indexing","display_name":"Search engine indexing","score":0.5212103128433228},{"id":"https://openalex.org/keywords/fractal-tree-index","display_name":"Fractal tree index","score":0.4757263958454132},{"id":"https://openalex.org/keywords/random-binary-tree","display_name":"Random binary tree","score":0.4683949947357178},{"id":"https://openalex.org/keywords/trie","display_name":"Trie","score":0.4624381959438324},{"id":"https://openalex.org/keywords/b-tree","display_name":"B-tree","score":0.4605199098587036},{"id":"https://openalex.org/keywords/interval-tree","display_name":"Interval tree","score":0.4602228105068207},{"id":"https://openalex.org/keywords/time-complexity","display_name":"Time complexity","score":0.4239486753940582},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.40842539072036743},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.38266488909721375},{"id":"https://openalex.org/keywords/tree-structure","display_name":"Tree structure","score":0.2905735671520233},{"id":"https://openalex.org/keywords/combinatorics","display_name":"Combinatorics","score":0.26949697732925415},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.2517138123512268},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.2362191379070282},{"id":"https://openalex.org/keywords/search-algorithm","display_name":"Search algorithm","score":0.17552757263183594},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.1582520604133606},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.07804006338119507}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7848803997039795},{"id":"https://openalex.org/C113174947","wikidata":"https://www.wikidata.org/wiki/Q2859736","display_name":"Tree (set theory)","level":2,"score":0.7417105436325073},{"id":"https://openalex.org/C197855036","wikidata":"https://www.wikidata.org/wiki/Q380172","display_name":"Binary tree","level":2,"score":0.6793110370635986},{"id":"https://openalex.org/C2779251273","wikidata":"https://www.wikidata.org/wiki/Q43436","display_name":"Pearl","level":2,"score":0.6723898649215698},{"id":"https://openalex.org/C100560664","wikidata":"https://www.wikidata.org/wiki/Q3608019","display_name":"K-ary tree","level":4,"score":0.596218466758728},{"id":"https://openalex.org/C27628562","wikidata":"https://www.wikidata.org/wiki/Q17154715","display_name":"Optimal binary search tree","level":5,"score":0.5882348418235779},{"id":"https://openalex.org/C136519935","wikidata":"https://www.wikidata.org/wiki/Q2859802","display_name":"Ternary search tree","level":5,"score":0.5743856430053711},{"id":"https://openalex.org/C62611344","wikidata":"https://www.wikidata.org/wiki/Q1062658","display_name":"Node (physics)","level":2,"score":0.5731626152992249},{"id":"https://openalex.org/C91154448","wikidata":"https://www.wikidata.org/wiki/Q623818","display_name":"Binary search tree","level":3,"score":0.5658299326896667},{"id":"https://openalex.org/C207024777","wikidata":"https://www.wikidata.org/wiki/Q621673","display_name":"Search tree","level":3,"score":0.5600106120109558},{"id":"https://openalex.org/C75165309","wikidata":"https://www.wikidata.org/wiki/Q2258979","display_name":"Search engine indexing","level":2,"score":0.5212103128433228},{"id":"https://openalex.org/C163736687","wikidata":"https://www.wikidata.org/wiki/Q17014592","display_name":"Fractal tree index","level":5,"score":0.4757263958454132},{"id":"https://openalex.org/C11829167","wikidata":"https://www.wikidata.org/wiki/Q751292","display_name":"Random binary tree","level":3,"score":0.4683949947357178},{"id":"https://openalex.org/C190290938","wikidata":"https://www.wikidata.org/wiki/Q387015","display_name":"Trie","level":3,"score":0.4624381959438324},{"id":"https://openalex.org/C78669399","wikidata":"https://www.wikidata.org/wiki/Q677051","display_name":"B-tree","level":3,"score":0.4605199098587036},{"id":"https://openalex.org/C84927040","wikidata":"https://www.wikidata.org/wiki/Q6057306","display_name":"Interval tree","level":4,"score":0.4602228105068207},{"id":"https://openalex.org/C311688","wikidata":"https://www.wikidata.org/wiki/Q2393193","display_name":"Time complexity","level":2,"score":0.4239486753940582},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.40842539072036743},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.38266488909721375},{"id":"https://openalex.org/C163797641","wikidata":"https://www.wikidata.org/wiki/Q2067937","display_name":"Tree structure","level":3,"score":0.2905735671520233},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.26949697732925415},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.2517138123512268},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.2362191379070282},{"id":"https://openalex.org/C125583679","wikidata":"https://www.wikidata.org/wiki/Q755673","display_name":"Search algorithm","level":2,"score":0.17552757263183594},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.1582520604133606},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.07804006338119507},{"id":"https://openalex.org/C27206212","wikidata":"https://www.wikidata.org/wiki/Q34178","display_name":"Theology","level":1,"score":0.0},{"id":"https://openalex.org/C66938386","wikidata":"https://www.wikidata.org/wiki/Q633538","display_name":"Structural engineering","level":1,"score":0.0},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1017/s0956796897002803","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796897002803","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/23D5C1B90A6B00A5D87239054FEDC8CF/S0956796897002803a.pdf/div-class-title-functional-pearl-on-building-trees-with-minimum-height-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1017/s0956796897002803","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796897002803","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/23D5C1B90A6B00A5D87239054FEDC8CF/S0956796897002803a.pdf/div-class-title-functional-pearl-on-building-trees-with-minimum-height-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2931844481.pdf","grobid_xml":"https://content.openalex.org/works/W2931844481.grobid-xml"},"referenced_works_count":5,"referenced_works":["https://openalex.org/W2205302904","https://openalex.org/W2614099084","https://openalex.org/W2752061190","https://openalex.org/W2752853835","https://openalex.org/W4210546998"],"related_works":["https://openalex.org/W2022598760","https://openalex.org/W2026697457","https://openalex.org/W2072157347","https://openalex.org/W3022865202","https://openalex.org/W3109340025","https://openalex.org/W2095570436","https://openalex.org/W2931844481","https://openalex.org/W2110940163","https://openalex.org/W1601483509","https://openalex.org/W2462697904"],"abstract_inverted_index":{"A":[0],"common":[1],"solution":[2],"to":[3,16,50,158],"the":[4,24,38,44,52,62,104,120,145,165],"problem":[5],"of":[6,31,37,46,85,138],"handling":[7],"list":[8,26,105,137],"indexing":[9],"efficiently":[10],"in":[11,61,68,90,147,162],"a":[12,18,58,82,112,136,168],"functional":[13],"program":[14],"is":[15,30,95,126,167],"build":[17],"binary":[19],"tree.":[20],"The":[21,123,154],"tree":[22,39,113,152,169],"has":[23],"given":[25,59],"as":[27],"frontier":[28],"and":[29,100,117,131,141],"minimum":[32],"height.":[33,173],"Each":[34],"internal":[35],"node":[36],"stores":[40],"size":[41,45],"information":[42],"(actually,":[43],"its":[47],"left":[48],"subtree)":[49],"direct":[51],"search":[53],"for":[54,79,114],"an":[55],"element":[56],"at":[57],"position":[60],"frontier.":[63],"One":[64,93],"application":[65],"was":[66],"considered":[67],"my":[69],"previous":[70],"pearl":[71],"(Bird,":[72],"1997).":[73],"There":[74],"are":[75],"two":[76,107,121,155],"complementary":[77],"methods":[78,156],"building":[80,111],"such":[81],"tree,":[83],"both":[84],"which":[86],"can":[87],"be":[88],"implemented":[89],"linear":[91],"time.":[92],"method":[94,125],"\u2018recursive\u2019,":[96],"or":[97,128],"top":[98],"down,":[99],"works":[101,132],"by":[102,133],"splitting":[103],"into":[106],"equal":[108],"halves,":[109],"recursively":[110],"each":[115,163],"half,":[116],"then":[118,142],"combining":[119,144],"results.":[122],"other":[124],"\u2018iterative\u2019,":[127],"bottom":[129],"up,":[130],"first":[134],"creating":[135],"singleton":[139],"trees,":[140,160],"repeatedly":[143],"trees":[146],"pairs":[148],"until":[149],"just":[150],"one":[151],"remains.":[153],"lead":[157],"different":[159],"but":[161],"case":[164],"result":[166],"with":[170],"smallest":[171],"possible":[172]},"counts_by_year":[],"updated_date":"2026-05-27T06:14:07.914337","created_date":"2025-10-10T00:00:00"}
