{"id":"https://openalex.org/W3000918834","doi":"https://doi.org/10.1017/s0956796819000194","title":"An optimal, purely functional implementation of the Garsia\u2013Wachs algorithm","display_name":"An optimal, purely functional implementation of the Garsia\u2013Wachs algorithm","publication_year":2020,"publication_date":"2020-01-01","ids":{"openalex":"https://openalex.org/W3000918834","doi":"https://doi.org/10.1017/s0956796819000194","mag":"3000918834"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796819000194","is_oa":false,"landing_page_url":"https://doi.org/10.1017/s0956796819000194","pdf_url":null,"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":false,"oa_status":"closed","oa_url":null,"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/I40120149","display_name":"University of Oxford","ror":"https://ror.org/052gg0110","country_code":"GB","type":"education","lineage":["https://openalex.org/I40120149"]},{"id":"https://openalex.org/I4210146410","display_name":"Science Oxford","ror":"https://ror.org/04j8yhy50","country_code":"GB","type":"nonprofit","lineage":["https://openalex.org/I4210146410"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"RICHARD S. BIRD","raw_affiliation_strings":["Department of Computer Science, Oxford University, Wolfson Building, Parks Road, Oxford, OX1 3QD, UK (e-mail:"],"raw_orcid":"https://orcid.org/0000-0002-3901-742X","affiliations":[{"raw_affiliation_string":"Department of Computer Science, Oxford University, Wolfson Building, Parks Road, Oxford, OX1 3QD, UK (e-mail:","institution_ids":["https://openalex.org/I40120149","https://openalex.org/I4210146410"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5068829812"],"corresponding_institution_ids":["https://openalex.org/I40120149","https://openalex.org/I4210146410"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.01209768,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":91,"max":95},"biblio":{"volume":"30","issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11269","display_name":"Algorithms and Data Compression","score":0.9998999834060669,"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.9998999834060669,"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/T13664","display_name":"Genome Rearrangement Algorithms","score":0.991599977016449,"subfield":{"id":"https://openalex.org/subfields/1311","display_name":"Genetics"},"field":{"id":"https://openalex.org/fields/13","display_name":"Biochemistry, Genetics and Molecular Biology"},"domain":{"id":"https://openalex.org/domains/1","display_name":"Life Sciences"}},{"id":"https://openalex.org/T10627","display_name":"Advanced Image and Video Retrieval Techniques","score":0.9803000092506409,"subfield":{"id":"https://openalex.org/subfields/1707","display_name":"Computer Vision and Pattern Recognition"},"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/huffman-coding","display_name":"Huffman coding","score":0.867057740688324},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8109441995620728},{"id":"https://openalex.org/keywords/binary-tree","display_name":"Binary tree","score":0.541322648525238},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.5374975204467773},{"id":"https://openalex.org/keywords/coding","display_name":"Coding (social sciences)","score":0.4509560167789459},{"id":"https://openalex.org/keywords/tree","display_name":"Tree (set theory)","score":0.4179793894290924},{"id":"https://openalex.org/keywords/combinatorics","display_name":"Combinatorics","score":0.19530314207077026},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.15391594171524048},{"id":"https://openalex.org/keywords/data-compression","display_name":"Data compression","score":0.09551402926445007}],"concepts":[{"id":"https://openalex.org/C46900642","wikidata":"https://www.wikidata.org/wiki/Q2647","display_name":"Huffman coding","level":3,"score":0.867057740688324},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8109441995620728},{"id":"https://openalex.org/C197855036","wikidata":"https://www.wikidata.org/wiki/Q380172","display_name":"Binary tree","level":2,"score":0.541322648525238},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.5374975204467773},{"id":"https://openalex.org/C179518139","wikidata":"https://www.wikidata.org/wiki/Q5140297","display_name":"Coding (social sciences)","level":2,"score":0.4509560167789459},{"id":"https://openalex.org/C113174947","wikidata":"https://www.wikidata.org/wiki/Q2859736","display_name":"Tree (set theory)","level":2,"score":0.4179793894290924},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.19530314207077026},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.15391594171524048},{"id":"https://openalex.org/C78548338","wikidata":"https://www.wikidata.org/wiki/Q2493","display_name":"Data compression","level":2,"score":0.09551402926445007},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1017/s0956796819000194","is_oa":false,"landing_page_url":"https://doi.org/10.1017/s0956796819000194","pdf_url":null,"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":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":13,"referenced_works":["https://openalex.org/W1988325634","https://openalex.org/W2004521198","https://openalex.org/W2065954102","https://openalex.org/W2068373264","https://openalex.org/W2126711987","https://openalex.org/W2160169271","https://openalex.org/W2163890240","https://openalex.org/W2326587081","https://openalex.org/W2614099084","https://openalex.org/W2912949875","https://openalex.org/W3037857375","https://openalex.org/W3198160809","https://openalex.org/W4210546998"],"related_works":["https://openalex.org/W1966933208","https://openalex.org/W2351464472","https://openalex.org/W2902549273","https://openalex.org/W2981001626","https://openalex.org/W2357738827","https://openalex.org/W1966383678","https://openalex.org/W2486717996","https://openalex.org/W3107197685","https://openalex.org/W33990053","https://openalex.org/W2790184291"],"abstract_inverted_index":{"The":[0,19],"Garsia\u2013Wachs":[1,85],"algorithm":[2,5,23,86],"is":[3,14,33],"an":[4,106],"for":[6,105,117],"building":[7,40],"a":[8,41,91],"binary":[9],"leaf":[10],"tree":[11,44,54,71],"whose":[12],"cost":[13],"as":[15,17,37,116],"small":[16],"possible.":[18],"problem":[20],"and":[21],"the":[22,31,35,46,50,53,59,67,70,77,84,112],"are":[24],"described":[25],"in":[26],"more":[27],"detail":[28],"below,":[29,83],"but":[30],"task":[32],"essentially":[34],"same":[36,113],"that":[38,49],"of":[39,52,62,69,76,97,108],"Huffman":[42,65,118],"coding":[43],"with":[45,90],"added":[47],"constraint":[48],"fringe":[51,68],"has":[55],"to":[56],"be":[57,73,88],"exactly":[58],"given":[60],"list":[61],"inputs":[63],"(in":[64],"coding,":[66],"can":[72,87],"any":[74],"permutation":[75],"input).":[78],"As":[79],"we":[80],"will":[81],"show":[82],"implemented":[89],"linearithmic":[92],"running":[93,95],"time\u2014a":[94],"time":[96,114],"O":[98],"(":[99],"n":[100,102,110],"log":[101],")":[103],"steps":[104],"input":[107],"length":[109],",":[111],"bound":[115],"coding.":[119]},"counts_by_year":[{"year":2025,"cited_by_count":1}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
