{"id":"https://openalex.org/W1595860830","doi":null,"title":"An object-oriented introduction to data structures using Eiffel","display_name":"An object-oriented introduction to data structures using Eiffel","publication_year":2008,"publication_date":"2008-01-17","ids":{"openalex":"https://openalex.org/W1595860830","mag":"1595860830"},"language":"en","primary_location":{"id":"mag:1595860830","doi":null,"is_oa":false,"landing_page_url":"http://ci.nii.ac.jp/ncid/BA34724093","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":null},"volume":null,"type":"book","is_traditional":true,"indexed_in":[],"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/A5108621884","display_name":"Richard Wiener","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I888729015","display_name":"University of Colorado Colorado Springs","ror":"https://ror.org/054spjc55","country_code":"US","type":"education","lineage":["https://openalex.org/I888729015"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Richard Wiener","raw_affiliation_strings":[", University of Colorado Colorado Springs#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":", University of Colorado Colorado Springs#TAB#","institution_ids":["https://openalex.org/I888729015"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5108621884"],"corresponding_institution_ids":["https://openalex.org/I888729015"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.0,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10533","display_name":"Teaching and Learning Programming","score":0.8490999937057495,"subfield":{"id":"https://openalex.org/subfields/1706","display_name":"Computer Science Applications"},"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/T10533","display_name":"Teaching and Learning Programming","score":0.8490999937057495,"subfield":{"id":"https://openalex.org/subfields/1706","display_name":"Computer Science Applications"},"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/T10126","display_name":"Logic, programming, and type systems","score":0.14560000598430634,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/T11269","display_name":"Algorithms and Data Compression","score":0.0019000000320374966,"subfield":{"id":"https://openalex.org/subfields/2614","display_name":"Theoretical Computer Science"},"field":{"id":"https://openalex.org/fields/26","display_name":"Mathematics"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/eiffel","display_name":"Eiffel","score":0.7360000014305115},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"object-oriented programming","score":0.9070000052452087},{"id":"https://openalex.org/keywords/data-structures","display_name":"data structures","score":0.972000002861023},{"id":"https://openalex.org/keywords/abstract-data-types","display_name":"abstract data types","score":0.9139999747276306},{"id":"https://openalex.org/keywords/inheritance-object-oriented-programming","display_name":"inheritance (object-oriented programming)","score":0.9129999876022339},{"id":"https://openalex.org/keywords/polymorphism","display_name":"polymorphism","score":0.871999979019165},{"id":"https://openalex.org/keywords/late-binding","display_name":"late binding","score":0.7760000228881836},{"id":"https://openalex.org/keywords/generic-classes","display_name":"generic classes","score":0.7020000219345093},{"id":"https://openalex.org/keywords/arrays","display_name":"arrays","score":0.6520000100135803},{"id":"https://openalex.org/keywords/sorting-algorithms","display_name":"sorting algorithms","score":0.9940000176429749},{"id":"https://openalex.org/keywords/strings","display_name":"strings","score":0.765999972820282},{"id":"https://openalex.org/keywords/stacks","display_name":"stacks","score":0.9459999799728394},{"id":"https://openalex.org/keywords/queues","display_name":"queues","score":1.0},{"id":"https://openalex.org/keywords/lists","display_name":"lists","score":0.8700000047683716},{"id":"https://openalex.org/keywords/recursion","display_name":"recursion","score":0.7300000190734863},{"id":"https://openalex.org/keywords/binary-search","display_name":"binary search","score":0.8410000205039978},{"id":"https://openalex.org/keywords/permutation-groups","display_name":"permutation groups","score":0.3449999988079071},{"id":"https://openalex.org/keywords/binary-trees","display_name":"binary trees","score":0.40799999237060547},{"id":"https://openalex.org/keywords/binary-search-trees","display_name":"binary search trees","score":0.6290000081062317},{"id":"https://openalex.org/keywords/heaps","display_name":"heaps","score":0.3240000009536743},{"id":"https://openalex.org/keywords/priority-queues","display_name":"priority queues","score":0.5199999809265137},{"id":"https://openalex.org/keywords/linked-lists","display_name":"linked lists","score":0.4909999966621399},{"id":"https://openalex.org/keywords/assertion","display_name":"assertion","score":0.5419999957084656}],"concepts":[{"id":"https://openalex.org/C186362262","wikidata":"https://www.wikidata.org/wiki/Q732089","display_name":"Eiffel","level":3,"score":0.8267388343811035},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7404055595397949},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6175166964530945},{"id":"https://openalex.org/C88548561","wikidata":"https://www.wikidata.org/wiki/Q347599","display_name":"sort","level":2,"score":0.6094660758972168},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.5577540397644043},{"id":"https://openalex.org/C108094655","wikidata":"https://www.wikidata.org/wiki/Q181593","display_name":"Sorting algorithm","level":3,"score":0.5042537450790405},{"id":"https://openalex.org/C200568363","wikidata":"https://www.wikidata.org/wiki/Q1070739","display_name":"Multiple inheritance","level":3,"score":0.47806647419929504},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.43374863266944885},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.42908358573913574},{"id":"https://openalex.org/C175971053","wikidata":"https://www.wikidata.org/wiki/Q827335","display_name":"Abstract data type","level":2,"score":0.42420512437820435},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.3574233949184418},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.33033430576324463},{"id":"https://openalex.org/C111696304","wikidata":"https://www.wikidata.org/wiki/Q2303697","display_name":"Sorting","level":2,"score":0.3207916021347046},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.20072534680366516},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.10687041282653809}],"mesh":[],"locations_count":1,"locations":[{"id":"mag:1595860830","doi":null,"is_oa":false,"landing_page_url":"http://ci.nii.ac.jp/ncid/BA34724093","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":null}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W1550209160","https://openalex.org/W576137057","https://openalex.org/W595021510","https://openalex.org/W1583475562","https://openalex.org/W2502322589","https://openalex.org/W1495143894","https://openalex.org/W601233751","https://openalex.org/W82405385","https://openalex.org/W7097505473","https://openalex.org/W2777886824"],"abstract_inverted_index":{"Preface.":[0],"1.":[1],"An":[2,61,88],"Object-Oriented":[3],"Approach":[4],"To":[5],"Problem":[6],"Solving.":[7],"Abstract":[8,119],"data":[9,31,215,448,498],"types":[10],"and":[11,14,17,33,41,69,85,133,136,154,174,190,294,315,402,469],"classes.":[12,39,193],"Encapsulation-attributes":[13],"routines.":[15,131],"External":[16],"internal":[18,340],"views":[19],"of":[20,27,30,63,90,93,145,168,178,197,206,219,222,225,227,234,256,260,263,267,270,279,286,298,305,321,335,342,344,347,350,354,359,389,398,404,430,438,451,458,464,472,477,491,500,508],"class.":[21,96,157],"Inheritance.":[22,103],"A":[23,515],"more":[24],"technical":[25],"example":[26,259,262,266,269],"inheritance-a":[28],"preview":[29],"structures":[32],"the":[34,91,166,355],"Eiffel":[35,95],"programming":[36,137],"language.":[37],"Generic":[38],"Polymorphism":[40],"late-binding.":[42],"Application":[43,320],"that":[44,307,481],"features":[45],"late":[46],"binding-Specification-":[47],"Analysis-Design-Eiffel":[48],"implementation-A":[49],"final":[50],"look":[51],"at":[52],"polymorphism":[53],"in":[54,66,275,396],"this":[55],"application.":[56,330],"Summary.":[57,149,186,201,250,282,317,331,416,440,487,517],"Exercises.":[58,150,187,202,251,283,318,332,375,417,441,488,518],"References.":[59],"2.":[60],"Overview":[62],"Eiffel.":[64,67],"Programming":[65],"Creating":[68],"destroying":[70],"objects-Basic":[71],"types-Reference":[72],"semantics":[73],"versus":[74,127,130,161,510],"value":[75],"semantics-Assigning":[76],"objects-Copying":[77],"objects":[78],"--Cloning-Basic":[79],"operators-Branching-Iteration":[80],"(loop)":[81],"-Routines.":[82],"Basic":[83],"input":[84],"output.":[86],"Arrays.":[87,281],"overview":[89],"components":[92],"an":[94],"Creation.":[97],"Subclass":[98],"creation-More":[99],"advanced":[100],"subclass":[101],"creation.":[102],"Extension-Specialization":[104],"-":[105],"The":[106,213,243,246,254,339,392,411,446,454,496,503],"redefine":[107],"subclause-":[108],"Selective":[109],"export-the":[110],"export":[111],"subclause-Renaming":[112],"inherited":[113],"routines-the":[114],"rename":[115],"subclause-The":[116],"select":[117],"subclause.":[118],"classes":[120,141],"using":[121,460],"Eiffel's":[122],"deferred":[123],"class":[124,220,223,235,348],"facility.":[125],"Storage":[126],"computation:":[128],"attributes":[129],"Protecting":[132],"documenting":[134],"routines-assertions":[135],"by":[138],"contract.":[139],"Account":[140],"revisited":[142],"with":[143,231,484],"assertions-Propagation":[144],"assertions":[146],"through":[147],"inheritance.":[148],"3.":[151],"Arrays,":[152],"Sorting":[153,159],"Strings.":[155,182],"ARRAY":[156],"Sorting.":[158],"problems":[160],"their":[162],"instances-Selection-sort":[163],"algorithm-More":[164],"on":[165],"efficiency":[167],"sorting":[169],"algorithms-Bubble":[170],"sort-Comb-sort-a":[171],"magic":[172],"number":[173,326],"a":[175,381,473],"fast":[176],"variant":[177],"bubble-":[179],"sort-Insertion-sort-Quick-sort-Partition":[180],"algorithm.":[181,185,433],"String":[183,521],"searching-simple":[184],"4.":[188],"Stacks":[189],"Queues.":[191,322],"Container":[192],"Stack.":[194],"Static":[195],"implementation":[196],"STACK-Dynamic":[198],"implementation.":[199,410],"Queue.":[200],"5.":[203],"Lists.":[204,336],"Types":[205],"lists.":[207],"Dynamic":[208],"unordered":[209],"list":[210,230],"without":[211],"duplicates.":[212,232],"UNORDERED_LIST":[214],"abstraction-Interface":[216],"to":[217,291,303,520],"UNORDERED_LIST-Implementation":[218],"UNORDERED_LIST-Discussion":[221,226],"LIST_TYPE-Details":[224],"UNORDERED_LIST.":[228],"Unordered":[229,444],"Discussion":[233,463],"UNORDERED_LIST_D.":[236],"Ordered":[237],"list.":[238,240],"Doubly-linked":[239],"Stack":[241],"revisited.":[242,245],"queue":[244],"Deque.":[247],"Priority":[248],"queue.":[249],"6.":[252],"Recursion.":[253],"mechanics":[255],"recursion.":[257],"First":[258],"recursion-Second":[261],"recursion-":[264],"Third":[265],"recursion-Final":[268],"recursion-permutation":[271],"group.":[272],"Recursion":[273],"used":[274],"design.":[276],"Binary":[277,377,492],"Search":[278,406,420],"Sorted":[280],"7.":[284],"Applications":[285,334,490],"Stacks.":[287],"Permutation":[288],"iterator.":[289],"Infix":[290],"postfix":[292,299],"conversion":[293],"function":[295],"evaluation.":[296],"Evaluation":[297],"expressions-Conversion":[300],"from":[301],"infix":[302],"postfix-Implementation":[304],"system":[306],"evaluates":[308],"algebraic":[309],"expressions.":[310],"Las":[311],"Vegas":[312],"Solitaire.":[313],"Specifications-Analysis":[314],"Implementation.":[316],"8.":[319],"Queuing":[323],"theory.":[324],"Random":[325],"generator.":[327],"Simple":[328],"queuing":[329],"9.":[333],"Long":[337],"integers.":[338],"representation":[341],"LONG_INTEGER-Addition":[343],"long":[345],"integers-Construction":[346],"LONG_INTEGER-Implementation":[349],"creation":[351],"routine":[352,365],"make-Implementation":[353],"addition":[356],"operation-":[357],"Implementation":[358,388],"as_string":[360],"command.":[361],"Polynomials.":[362],"Class":[363],"POLYNOMIAL-Creation":[364],"for":[366,413],"POLYNOMIAL-The":[367],"169>+170>":[368],"query-The":[369,371],"differentiate":[370],"integrate":[372],"query.":[373],"Conclusions.":[374],"10.":[376],"Trees":[378,493],"What":[379],"is":[380],"binary":[382,390],"tree?":[383],"Tree":[384],"traversal.":[385],"Path":[386],"length.":[387],"tree.":[391],"constrained":[393],"generic":[394],"parameter":[395],"BINARY_T-Implementation":[397],"commands":[399],"preorder,":[400],"inorder,":[401],"postorder-Implementation":[403],"average_internal_path_length.":[405],"trees.":[407,424,435],"Insertion-Deletion-Search":[408],"tree":[409,414],"need":[412],"balancing.":[415],"11.":[418],"Balanced":[419],"Trees.":[421],"Rotations.":[422],"AVL":[423,425],"insertion-Pattern":[426],"1-Pattern":[427],"2-Insertion":[428],"algorithm-Explanation":[429],"insertion":[431],"algorithm-Deletion":[432],"Weight-balanced":[434],"Conceptual":[436],"framework-Implementation":[437],"insertion.":[439],"Reference.":[442],"12.":[443],"Collections.":[445],"BIT":[447,461],"type.":[449,462],"Summary":[450],"BIT_REF":[452],"features.":[453],"Set":[455,457],"abstraction.":[456],"integers":[459],"Listing":[465],"12.3.":[466],"Hash":[467],"functions":[468],"tables.":[470],"Design":[471],"good":[474],"hash":[475,478],"function-Implementation":[476],"function-Collision-resolution":[479],"algorithms-Simulation":[480],"compares":[482],"linear":[483],"coalesced":[485],"chaining.":[486],"13.":[489],"Heap":[494],"sorting.":[495],"heap":[497],"structure-Overview":[499],"heapsort":[501,509],"algorithm-":[502],"procedure":[504,506],"formheap-The":[505],"rebuildheap-Speed":[507],"quicksort-Concluding":[511],"remarks":[512],"about":[513],"heapsort.":[514],"learningtree.":[516],"Interface":[519],"Class.":[522]},"counts_by_year":[],"updated_date":"2026-10-25T09:29:13.331239","created_date":"2016-06-24T00:00:00"}
