{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,26]],"date-time":"2026-05-26T23:05:11Z","timestamp":1779836711111,"version":"3.53.1"},"reference-count":3,"publisher":"Cambridge University Press (CUP)","issue":"3","license":[{"start":{"date-parts":[[2008,11,7]],"date-time":"2008-11-07T00:00:00Z","timestamp":1226016000000},"content-version":"unspecified","delay-in-days":5973,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J. Funct. Prog."],"published-print":{"date-parts":[[1992,7]]},"abstract":"<jats:p>\n                    In my previous\n                    <jats:italic>Functional Pearls<\/jats:italic>\n                    article (Bird, 1992), I proved a theorem giving conditions under which an optimization problem could be implemented by a greedy algorithm. A greedy algorithm is one that picks a \u2018best\u2019 element at each stage. Here, we return to this theorem and extend it in various ways. We then use the theory to solve an intriguing problem about unravelling sequences into a smallest number of ascending subsequences.\n                  <\/jats:p>","DOI":"10.1017\/s0956796800000459","type":"journal-article","created":{"date-parts":[[2008,11,7]],"date-time":"2008-11-07T11:14:19Z","timestamp":1226056459000},"page":"375-385","source":"Crossref","is-referenced-by-count":2,"title":["Functional Pearls:\n                    <i>Unravelling greedy algorithms<\/i>"],"prefix":"10.1017","volume":"2","author":[{"given":"Richard S.","family":"Bird","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"56","published-online":{"date-parts":[[2008,11,7]]},"reference":[{"key":"S0956796800000459_ref002","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(85)90034-1"},{"key":"S0956796800000459_ref003","volume-title":"IFIP Wg2.1 Working Paper","author":"Meertens","year":"1985"},{"key":"S0956796800000459_ref001","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796800000368"}],"container-title":["Journal of Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0956796800000459","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,5,26]],"date-time":"2026-05-26T22:35:08Z","timestamp":1779834908000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0956796800000459\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1992,7]]},"references-count":3,"journal-issue":{"issue":"3","published-print":{"date-parts":[[1992,7]]}},"alternative-id":["S0956796800000459"],"URL":"https:\/\/doi.org\/10.1017\/s0956796800000459","relation":{},"ISSN":["0956-7968","1469-7653"],"issn-type":[{"value":"0956-7968","type":"print"},{"value":"1469-7653","type":"electronic"}],"subject":[],"published":{"date-parts":[[1992,7]]}}}