{"id":4538,"date":"2022-05-12T06:53:00","date_gmt":"2022-05-12T06:53:00","guid":{"rendered":"https:\/\/www.booksofall.com\/ru\/?post_type=product&#038;p=4538"},"modified":"2023-01-20T08:26:10","modified_gmt":"2023-01-20T08:26:10","slug":"think-data-structures-algorithms-and-information-retrieval-in-java","status":"publish","type":"product","link":"https:\/\/www.booksofall.com\/ru\/think-data-structures-algorithms-and-information-retrieval-in-java\/","title":{"rendered":"Think Data Structures Algorithms and Information Retrieval in Java"},"content":{"rendered":"<h4>The philosophy behind the book<\/h4>\n<p><a href=\"https:\/\/www.programiz.com\/dsa\">Data structures and algorithms<\/a> are among the most important inventions of the last 50 years, and they are fundamental tools software engineers need to know. But in my opinion, most of the books on these topics are too theoretical, too big, and too \\bottom up&#8221;:<\/p>\n<p><strong>Too theoretical<\/strong> Mathematical analysis of algorithms is based on simplifying assumptions that limit its usefulness in practice. Many presentations of this topic gloss over the simplications and focus on the math. In this book I present the most practical subset of this material and omit or de-emphasize the rest.<\/p>\n<p><strong>Too big<\/strong> Most books on these topics are at least 500 pages, and some are more than 1000. By focusing on the topics I think are most useful for software engineers, I kept this book under 200 pages.<\/p>\n<p><strong>Too &#8220;bottom up&#8221;<\/strong> Many data structures books focus on how data struc- tures work (the implementations), with less about how to use them (the interfaces). In this book, I go \\top down&#8221;, starting with the interfaces. Readers learn to use the structures in<a href=\"https:\/\/docs.oracle.com\/javase\/8\/docs\/technotes\/guides\/collections\/overview.html\"> the Java Collections Framework<\/a> before getting into the details of how they work.<\/p>\n<p>Finally, some books present this material out of context and without motiva- tion: it&#8217;s just one damn data structure after another! I try to liven it up by organizing the topics around an application | web search | that uses data structures extensively, and is an interesting and important topic in its own right. This application motivates some topics that are not usually covered in an introductory data structures class, including persistent data structures with Redis.<\/p>\n<p>I have made difficult decisions about what to leave out, but I have made some compromises. I include a few topics that most readers will never use, but that they might be expected to know, possibly in a technical interview. For these topics, I present both the conventional wisdom as well as my reasons to be skeptical. This book also presents basic aspects of software engineering practice, includ- ing version control and unit testing. Most chapters include an exercise that allows readers to apply what they have learned. Each exercise provides au- tomated tests that check the solution. And for most exercises, I present my solution at the beginning of the next chapter.<\/p>\n","protected":false},"excerpt":{"rendered":"<p><iframe style=\"width: 100%; height: 600px; border: none;\" src=\"https:\/\/online.visual-paradigm.com\/community\/embedded-book\/think-data-structures-algorithms-and-information-retrieval-in-java-y8l6587x7?enforceShowPromotionBar=true\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n","protected":false},"featured_media":4540,"template":"","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"Create UML diagrams online. See how to create a region inside a UML state shape, using Visual Paradigm's online UML diagram tool."},"product_brand":[],"product_cat":[15,182,276],"product_tag":[],"class_list":{"0":"post-4538","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-all","7":"product_cat-computer-science","8":"product_cat-java","10":"first","11":"instock","12":"shipping-taxable","13":"product-type-simple"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Think Data Structures Algorithms and Information Retrieval in Java - BooksOfAll Russian<\/title>\n<meta name=\"description\" content=\"Create UML diagrams online. See how to create a region inside a UML state shape, using Visual Paradigm&#039;s online UML diagram tool.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.booksofall.com\/ru\/think-data-structures-algorithms-and-information-retrieval-in-java\/\" \/>\n<meta property=\"og:locale\" content=\"ru_RU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Think Data Structures Algorithms and Information Retrieval in Java - BooksOfAll Russian\" \/>\n<meta property=\"og:description\" content=\"Create UML diagrams online. See how to create a region inside a UML state shape, using Visual Paradigm&#039;s online UML diagram tool.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.booksofall.com\/ru\/think-data-structures-algorithms-and-information-retrieval-in-java\/\" \/>\n<meta property=\"og:site_name\" content=\"BooksOfAll Russian\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-20T08:26:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/05\/Think-Data-Structures-Algorithms-and-Information-Retrieval-in-Java.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/05\/Think-Data-Structures-Algorithms-and-Information-Retrieval-in-Java.png\" \/>\n<meta name=\"twitter:label1\" content=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 \u043c\u0438\u043d\u0443\u0442\u044b\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.booksofall.com\/ru\/think-data-structures-algorithms-and-information-retrieval-in-java\/\",\"url\":\"https:\/\/www.booksofall.com\/ru\/think-data-structures-algorithms-and-information-retrieval-in-java\/\",\"name\":\"Think Data Structures Algorithms and Information Retrieval in Java - BooksOfAll Russian\",\"isPartOf\":{\"@id\":\"https:\/\/www.booksofall.com\/ru\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.booksofall.com\/ru\/think-data-structures-algorithms-and-information-retrieval-in-java\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.booksofall.com\/ru\/think-data-structures-algorithms-and-information-retrieval-in-java\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/05\/Think-Data-Structures-Algorithms-and-Information-Retrieval-in-Java.png\",\"datePublished\":\"2022-05-12T06:53:00+00:00\",\"dateModified\":\"2023-01-20T08:26:10+00:00\",\"description\":\"Create UML diagrams online. See how to create a region inside a UML state shape, using Visual Paradigm's online UML diagram tool.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.booksofall.com\/ru\/think-data-structures-algorithms-and-information-retrieval-in-java\/#breadcrumb\"},\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.booksofall.com\/ru\/think-data-structures-algorithms-and-information-retrieval-in-java\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\/\/www.booksofall.com\/ru\/think-data-structures-algorithms-and-information-retrieval-in-java\/#primaryimage\",\"url\":\"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/05\/Think-Data-Structures-Algorithms-and-Information-Retrieval-in-Java.png\",\"contentUrl\":\"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/05\/Think-Data-Structures-Algorithms-and-Information-Retrieval-in-Java.png\",\"width\":\"700\",\"height\":\"918\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.booksofall.com\/ru\/think-data-structures-algorithms-and-information-retrieval-in-java\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.booksofall.com\/ru\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Categories\",\"item\":\"https:\/\/www.booksofall.com\/ru\/categories\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Think Data Structures Algorithms and Information Retrieval in Java\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.booksofall.com\/ru\/#website\",\"url\":\"https:\/\/www.booksofall.com\/ru\/\",\"name\":\"BooksOfAll Russian\",\"description\":\"Biggest IT eBooks library and learning resources - Free eBooks for programming, computing, artificial intelligence and more.\",\"publisher\":{\"@id\":\"https:\/\/www.booksofall.com\/ru\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.booksofall.com\/ru\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ru-RU\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.booksofall.com\/ru\/#organization\",\"name\":\"BooksOfAll Russian\",\"url\":\"https:\/\/www.booksofall.com\/ru\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\/\/www.booksofall.com\/ru\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/06\/booksofall-logo-2.png\",\"contentUrl\":\"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/06\/booksofall-logo-2.png\",\"width\":166,\"height\":30,\"caption\":\"BooksOfAll Russian\"},\"image\":{\"@id\":\"https:\/\/www.booksofall.com\/ru\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Think Data Structures Algorithms and Information Retrieval in Java - BooksOfAll Russian","description":"Create UML diagrams online. See how to create a region inside a UML state shape, using Visual Paradigm's online UML diagram tool.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.booksofall.com\/ru\/think-data-structures-algorithms-and-information-retrieval-in-java\/","og_locale":"ru_RU","og_type":"article","og_title":"Think Data Structures Algorithms and Information Retrieval in Java - BooksOfAll Russian","og_description":"Create UML diagrams online. See how to create a region inside a UML state shape, using Visual Paradigm's online UML diagram tool.","og_url":"https:\/\/www.booksofall.com\/ru\/think-data-structures-algorithms-and-information-retrieval-in-java\/","og_site_name":"BooksOfAll Russian","article_modified_time":"2023-01-20T08:26:10+00:00","og_image":[{"url":"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/05\/Think-Data-Structures-Algorithms-and-Information-Retrieval-in-Java.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_image":"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/05\/Think-Data-Structures-Algorithms-and-Information-Retrieval-in-Java.png","twitter_misc":{"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f":"2 \u043c\u0438\u043d\u0443\u0442\u044b"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.booksofall.com\/ru\/think-data-structures-algorithms-and-information-retrieval-in-java\/","url":"https:\/\/www.booksofall.com\/ru\/think-data-structures-algorithms-and-information-retrieval-in-java\/","name":"Think Data Structures Algorithms and Information Retrieval in Java - BooksOfAll Russian","isPartOf":{"@id":"https:\/\/www.booksofall.com\/ru\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.booksofall.com\/ru\/think-data-structures-algorithms-and-information-retrieval-in-java\/#primaryimage"},"image":{"@id":"https:\/\/www.booksofall.com\/ru\/think-data-structures-algorithms-and-information-retrieval-in-java\/#primaryimage"},"thumbnailUrl":"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/05\/Think-Data-Structures-Algorithms-and-Information-Retrieval-in-Java.png","datePublished":"2022-05-12T06:53:00+00:00","dateModified":"2023-01-20T08:26:10+00:00","description":"Create UML diagrams online. See how to create a region inside a UML state shape, using Visual Paradigm's online UML diagram tool.","breadcrumb":{"@id":"https:\/\/www.booksofall.com\/ru\/think-data-structures-algorithms-and-information-retrieval-in-java\/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.booksofall.com\/ru\/think-data-structures-algorithms-and-information-retrieval-in-java\/"]}]},{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/www.booksofall.com\/ru\/think-data-structures-algorithms-and-information-retrieval-in-java\/#primaryimage","url":"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/05\/Think-Data-Structures-Algorithms-and-Information-Retrieval-in-Java.png","contentUrl":"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/05\/Think-Data-Structures-Algorithms-and-Information-Retrieval-in-Java.png","width":"700","height":"918"},{"@type":"BreadcrumbList","@id":"https:\/\/www.booksofall.com\/ru\/think-data-structures-algorithms-and-information-retrieval-in-java\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.booksofall.com\/ru\/"},{"@type":"ListItem","position":2,"name":"Categories","item":"https:\/\/www.booksofall.com\/ru\/categories\/"},{"@type":"ListItem","position":3,"name":"Think Data Structures Algorithms and Information Retrieval in Java"}]},{"@type":"WebSite","@id":"https:\/\/www.booksofall.com\/ru\/#website","url":"https:\/\/www.booksofall.com\/ru\/","name":"BooksOfAll Russian","description":"Biggest IT eBooks library and learning resources - Free eBooks for programming, computing, artificial intelligence and more.","publisher":{"@id":"https:\/\/www.booksofall.com\/ru\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.booksofall.com\/ru\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ru-RU"},{"@type":"Organization","@id":"https:\/\/www.booksofall.com\/ru\/#organization","name":"BooksOfAll Russian","url":"https:\/\/www.booksofall.com\/ru\/","logo":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/www.booksofall.com\/ru\/#\/schema\/logo\/image\/","url":"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/06\/booksofall-logo-2.png","contentUrl":"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/06\/booksofall-logo-2.png","width":166,"height":30,"caption":"BooksOfAll Russian"},"image":{"@id":"https:\/\/www.booksofall.com\/ru\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.booksofall.com\/ru\/wp-json\/wp\/v2\/product\/4538","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.booksofall.com\/ru\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/www.booksofall.com\/ru\/wp-json\/wp\/v2\/types\/product"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.booksofall.com\/ru\/wp-json\/wp\/v2\/media\/4540"}],"wp:attachment":[{"href":"https:\/\/www.booksofall.com\/ru\/wp-json\/wp\/v2\/media?parent=4538"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/www.booksofall.com\/ru\/wp-json\/wp\/v2\/product_brand?post=4538"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/www.booksofall.com\/ru\/wp-json\/wp\/v2\/product_cat?post=4538"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/www.booksofall.com\/ru\/wp-json\/wp\/v2\/product_tag?post=4538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}