155 results
Search Results
2. Combinatorial Pattern Matching : 23rd Annual Symposium, CPM 2012, Helsinki, Finland, July 3-5, 2012, Proceedings
- Author
-
Juha Kärkkäinen, Jens Stoye, Juha Kärkkäinen, and Jens Stoye
- Subjects
- CPM, Pattern matching, Conference papers and proceedings, Combinatorial analysis--Congresses, Computer algorithms--Congresses, Analyse combinatoire--Congre`s, Algorithmes--Congre`s, Combinatorial analysis, Computer algorithms
- Abstract
This book constitutes the refereed proceedings of the 23rd Annual Symposium on Combinatorial Pattern Matching, CPM 2012, held in Helsinki, Finland, in July 2012. The 33 revised full papers presented together with 2 invited talks were carefully reviewed and selected from 60 submissions. The papers address issues of searching and matching strings and more complicated patterns such as trees, regular expressions, graphs, point sets, and arrays. The goal is to derive non-trivial combinatorial properties of such structures and to exploit these properties in order to either achieve superior performance for the corresponding computational problems or pinpoint conditions under which searches cannot be performed efficiently. The meeting also deals with problems in computational biology, data compression and data mining, coding, information retrieval, natural language processing, and pattern recognition.
- Published
- 2012
3. Computer Aided Verification : 30th International Conference, CAV 2018, Held As Part of the Federated Logic Conference, FloC 2018, Oxford, UK, July 14-17, 2018, Proceedings, Part I
- Author
-
Hana Chockler, Georg Weissenbacher, Hana Chockler, and Georg Weissenbacher
- Subjects
- Artificial intelligence, Logic, Symbolic and mathematical, Electronic data processing, Computer simulation, Software engineering, Computer science, Computer logic, Algorithms, Digital computer simulation, Computer algorithms
- Abstract
This open access two-volume set LNCS 10980 and 10981 constitutes the refereed proceedings of the 30th International Conference on Computer Aided Verification, CAV 2018, held in Oxford, UK, in July 2018. The 52 full and 13 tool papers presented together with 3 invited papers and 2 tutorials were carefully reviewed and selected from 215 submissions. The papers cover a wide range of topics and techniques, from algorithmic and logical foundations of verification to practical applications in distributed, networked, cyber-physical, and autonomous systems. They are organized in topical sections on model checking, program analysis using polyhedra, synthesis, learning, runtime verification, hybrid and timed systems, tools, probabilistic systems, static analysis, theory and security, SAT, SMT and decisions procedures, concurrency, and CPS, hardware, industrial applications.
- Published
- 2018
4. On-line Algorithms
- Author
-
Lyle A. McGeoch, Daniel D. Sleator, Lyle A. McGeoch, and Daniel D. Sleator
- Subjects
- Computer algorithms, Online data processing
- Abstract
This volume contains the proceedings of the Workshop on On-line Algorithms held at the DIMACS Center at Rutgers University in February 1991. Presenting results in the theory of on-line algorithms, the articles discuss a broad range of problems. Most of the papers are based on competitive (worst-case) analysis of on-line algorithms, but some papers consider alternative approaches to on-line analysis. A critical question examined by some of the authors is how to modify competitive analysis to better reconcile the theory and practice of on-line algorithms. Many of the papers examine the ways in which randomization can be used to yield algorithms with improved performance. This book is aimed primarily at specialists in algorithm analysis, but most of the articles present clear expositions of previous work.
- Published
- 2017
5. Design and Analysis of Algorithms : First Mediterranean Conference on Algorithms, MedAlg 2012, Kibbutz Ein Gedi, Israel, December 3-5, 2012, Proceedings
- Author
-
Guy Even, Dror Rawitz, Guy Even, and Dror Rawitz
- Subjects
- Conference proceedings, Computer algorithms--Congresses, Computer science--Mathematics--Congresses, Computer algorithms, Computer science--Mathematics
- Abstract
This book constitutes the refereed proceedings of the First Mediterranean Conference on Algorithms, MedAlg 2012, held in Kibbutz Ein Gedi, Israel, in December 2012. The 18 papers presented were carefully reviewed and selected from 44 submissions. The conference papers focus on the design, engineering, theoretical and experimental performance analysis of algorithms for problems arising in different areas of computation. Topics covered include: communications networks, combinatorial optimization and approximation, parallel and distributed computing, computer systems and architecture, economics, game theory, social networks and the World Wide Web.
- Published
- 2012
6. Theory and Applications of Satisfiability Testing -- SAT 2012 : 15th International Conference, Trento, Italy, June 17-20, 2012, Proceedings
- Author
-
Alessandro Cimatti, Roberto Sebastiani, Alessandro Cimatti, and Roberto Sebastiani
- Subjects
- Conference proceedings, Computer algorithms--Congresses, Computer software--Verification--Congresses, Computer algorithms, Computer software--Verification
- Abstract
This book constitutes the refereed proceedings of the 15th International Conference on Theory and Applications of Satisfiability Testing, SAT 2012, held in Trento, Italy, in June 2012. The 29 revised full papers, 7 tool papers, and 16 poster papers presented together with 2 invited talks were carefully reviewed and selected from 112 submissions (88 full, 10 tool and 14 poster papers). The papers are organized in topical sections on stochastic local search, theory, quantified Boolean formulae, applications, parallel and portfolio approaches, CDCL SAT solving, MAX-SAT, cores interpolants, complexity analysis, and circuits and encodings.
- Published
- 2012
7. Frontiers in Algorithmics and Algorithmic Aspects in Information and Management : Joint International Conference, FAW-AAIM 2012, Beijing, China, May 14-16, 2012, Proceedings
- Author
-
Jack Snoeyink, Pinyan Lu, Kaile Su, Lusheng Wang, Jack Snoeyink, Pinyan Lu, Kaile Su, and Lusheng Wang
- Subjects
- Conference proceedings, Computer algorithms--Congresses, Combinatorial analysis--Congresses, Combinatorial analysis, Computer algorithms
- Abstract
This book constitutes the refereed proceedings of the 6th International Frontiers of Algorithmics Workshop, FAW 2012, and the 8th International Conference on Algorithmic Aspects in Information and Management, AAIM 2012, jointly held in Beijing, China, in May 2012. The 33 revised full papers presented together with 4 invited talks were carefully reviewed and selected from 81 submissions. The papers are organized in topical sections on algorithms and data structures, algorithmic game theory and incentive analysis, biomedical imaging algorithms, communication networks and optimization, computational learning theory, knowledge discovery, and data mining, experimental algorithmic methodologies, optimization algorithms in economic and operations research, pattern recognition algorithms and trustworthy algorithms and trustworthy software.
- Published
- 2012
8. Efficient Algorithms : Essays Dedicated to Kurt Mehlhorn on the Occasion of His 60th Birthday
- Author
-
Susanne Albers, Helmut Alt, Stefan Näher, Susanne Albers, Helmut Alt, and Stefan Näher
- Subjects
- Aufsatzsammlung, Computer algorithms, Algorithmische Geometrie--Aufsatzsammlung, Algorithmus--Aufsatzsammlung, Kombinatorische Optimierung--Aufsatzsammlung, Algorithmische Geometrie, Algorithmus, Kombinatorische Optimierung
- Abstract
This Festschrift volume, published in honor of Kurt Mehlhorn on the occasion of his 60th birthday, contains 28 papers written by his former Ph.D. students and colleagues as well as by his former Ph.D. advisor, Bob Constable. The volume's title is a translation of the title of Kurt Mehlhorn's first book,'Effiziente Algorithmen', published by Teubner-Verlag in 1977. This Festschrift demonstrates how the field of algorithmics has developed and matured in the decades since then. The papers included in this volume are organized in topical sections on models of computation and complexity; sorting and searching; combinatorial optimization with applications; computational geometry and geometric graphs; and algorithm engineering, exactness and robustness.
- Published
- 2009
9. Swarm Intelligence : Innovation, New Algorithms and Methods, Volume 2
- Author
-
Ying Tan and Ying Tan
- Subjects
- Computer algorithms, Swarm intelligence, Algorithms
- Abstract
Swarm Intelligence (SI) is one of the most important and challenging paradigms under the umbrella of computational intelligence. It focuses on the research of collective behaviours of a swarm in nature and/or social phenomenon to solve complicated and difficult problems which cannot be handled by traditional approaches. Thousands of papers are published each year presenting new algorithms, new improvements and numerous real world applications. This makes it hard for researchers and students to share their ideas with other colleagues; follow up the works from other researchers with common interests; and to follow new developments and innovative approaches. This complete and timely collection fills this gap by presenting the latest research systematically and thoroughly to provide readers with a full view of the field of swarm. Students will learn the principles and theories of typical swarm intelligence algorithms; scholars will be inspired with promising research directions; and practitioners will find suitable methods for their applications of interest along with useful instructions.
- Published
- 2018
10. Swarm Intelligence : Principles, Current Algorithms and Methods, Volume 1
- Author
-
Ying Tan and Ying Tan
- Subjects
- Swarm intelligence, Computer algorithms
- Abstract
Swarm Intelligence (SI) is one of the most important and challenging paradigms under the umbrella of computational intelligence. It focuses on the research of collective behaviours of a swarm in nature and/or social phenomenon to solve complicated and difficult problems which cannot be handled by traditional approaches. Thousands of papers are published each year presenting new algorithms, new improvements and numerous real world applications. This makes it hard for researchers and students to share their ideas with other colleagues; follow up the works from other researchers with common interests; and to follow new developments and innovative approaches. This complete and timely collection fills this gap by presenting the latest research systematically and thoroughly to provide readers with a full view of the field of swarm. Students will learn the principles and theories of typical swarm intelligence algorithms; scholars will be inspired with promising research directions; and practitioners will find suitable methods for their applications of interest along with useful instructions.
- Published
- 2018
11. Specification of Parallel Algorithms
- Author
-
Guy E. Blelloch, K. Mani Chandy, Suresh Jagannathan, Guy E. Blelloch, K. Mani Chandy, and Suresh Jagannathan
- Subjects
- Parallel programming (Computer science), Computer algorithms
- Abstract
This volume contains papers presented at the DIMACS workshop on Specification of Parallel Algorithms, held in May 1994 at Princeton University. The goal of the workshop was to bring together some of the best researchers in parallel languages, algorithms, and systems to present and discuss recent developments in their areas of expertise. Among the topics discussed were new specification techniques for concurrent and distributed systems, behavioral and operational specification techniques, new parallel language and system abstractions, novel concurrent architectures and systems, large-scale parallel systems, specification tools and environments, and proof techniques for concurrent systems.
- Published
- 2017
12. Bandit Algorithms for Website Optimization
- Author
-
John Myles White and John Myles White
- Subjects
- Algorithms, Data structures (Computer science), Computer algorithms
- Abstract
When looking for ways to improve your website, how do you decide which changes to make? And which changes to keep? This concise book shows you how to use Multiarmed Bandit algorithms to measure the real-world value of any modifications you make to your site. Author John Myles White shows you how this powerful class of algorithms can help you boost website traffic, convert visitors to customers, and increase many other measures of success.This is the first developer-focused book on bandit algorithms, which were previously described only in research papers. You'll quickly learn the benefits of several simple algorithms—including the epsilon-Greedy, Softmax, and Upper Confidence Bound (UCB) algorithms—by working through code examples written in Python, which you can easily adapt for deployment on your own website.Learn the basics of A/B testing—and recognize when it's better to use bandit algorithmsDevelop a unit testing framework for debugging bandit algorithmsGet additional code examples written in Julia, Ruby, and JavaScript with supplemental online materials
- Published
- 2013
13. Algorithms and Computation : 23rd International Symposium, ISAAC 2012, Taipei, Taiwan, December 19-21, 2012. Proceedings
- Author
-
Kun-Mao Chao, Tsan-sheng Hsu, Der-Tsai Lee, Kun-Mao Chao, Tsan-sheng Hsu, and Der-Tsai Lee
- Subjects
- Conference proceedings, Computer algorithms--Congresses, Computer algorithms
- Abstract
This book constitutes the refereed proceedings of the 23rd International Symposium on Algorithms and Computation, ISAAC 2012, held in Taipei, Taiwan, in December 2012. The 68 revised full papers presented together with three invited talks were carefully reviewed and selected from 174 submissions for inclusion in the book. This volume contains topics such as graph algorithms; online and streaming algorithms; combinatorial optimization; computational complexity; computational geometry; string algorithms; approximation algorithms; graph drawing; data structures; randomized algorithms; and algorithmic game theory.
- Published
- 2012
14. Intelligent Data Engineering and Automated Learning -- IDEAL 2012 : 13th International Conference, Natal, Brazil, August 29-31, 2012, Proceedings
- Author
-
Hujun Yin, Jose A.F. Costa, Guilherme Barreto, Hujun Yin, Jose A.F. Costa, and Guilherme Barreto
- Subjects
- Conference proceedings, Machine learning--Congresses, Computer algorithms--Congresses, Data mining--Congresses, Database management--Congresses, Computer algorithms, Data mining, Database management, Machine learning
- Abstract
This book constitutes the refereed proceedings of the 13th International Conference on Intelligent Data Engineering and Automated Learning, IDEAL 2012, held in Natal, Brazil, in August 2012. The 100 revised full papers presented were carefully reviewed and selected from more than 200 submissions for inclusion in the book and present the latest theoretical advances and real-world applications in computational intelligence.
- Published
- 2012
15. Topological Methods in Data Analysis and Visualization II : Theory, Algorithms, and Applications
- Author
-
Ronald Peikert, Helwig Hauser, Hamish Carr, Raphael Fuchs, Ronald Peikert, Helwig Hauser, Hamish Carr, and Raphael Fuchs
- Subjects
- Computer algorithms, Electronic data processing, Computer science, Topology, Mathematical analysis, Algorithms, Information display systems, Mathematics
- Abstract
When scientists analyze datasets in a search for underlying phenomena, patterns or causal factors, their first step is often an automatic or semi-automatic search for structures in the data. Of these feature-extraction methods, topological ones stand out due to their solid mathematical foundation. Topologically defined structures—as found in scalar, vector and tensor fields—have proven their merit in a wide range of scientific domains, and scientists have found them to be revealing in subjects such as physics, engineering, and medicine. Full of state-of-the-art research and contemporary hot topics in the subject, this volume is a selection of peer-reviewed papers originally presented at the fourth Workshop on Topology-Based Methods in Data Analysis and Visualization, TopoInVis 2011, held in Zurich, Switzerland. The workshop brought together many of the leading lights in the field for a mixture of formal presentations and discussion. One topic currently generating a great deal of interest, and explored in several chapters here, is the search for topological structures in time-dependent flows, and their relationship with Lagrangian coherent structures. Contributors also focus on discrete topologies of scalar and vector fields, and on persistence-based simplification, among other issues of note. The new research results included in this volume relate to all three key areas in data analysis—theory, algorithms and applications.
- Published
- 2012
16. Monte Carlo and Quasi-Monte Carlo Methods 2010
- Author
-
Leszek Plaskota, Henryk Woźniakowski, Leszek Plaskota, and Henryk Woźniakowski
- Subjects
- Monte Carlo method, Algorithms, Monte Carlo method--Congresses, Mathematics, Computer algorithms
- Abstract
This book represents the refereed proceedings of the Ninth International Conference on Monte Carlo and Quasi-Monte Carlo Methods in Scientific Computing that was held at the University of Warsaw (Poland) in August 2010. These biennial conferences are major events for Monte Carlo and the premiere event for quasi-Monte Carlo research. The proceedings include articles based on invited lectures as well as carefully selected contributed papers on all theoretical aspects and applications of Monte Carlo and quasi-Monte Carlo methods. The reader will be provided with information on latest developments in these very active areas. The book is an excellent reference for theoreticians and practitioners interested in solving high-dimensional computational problems arising, in particular, in finance and statistics.
- Published
- 2012
17. Induction, Algorithmic Learning Theory, and Philosophy
- Author
-
Michèle Friend, Norma B. Goethe, Valentina S. Harizanov, Michèle Friend, Norma B. Goethe, and Valentina S. Harizanov
- Subjects
- Mathematics--Philosophy, Machine learning, Computer algorithms
- Abstract
The idea of the present volume emerged in 2002 from a series of talks by Frank Stephan in 2002, and John Case in 2003, on developments of algorithmic learning theory. These talks took place in the Mathematics Department at the George Washington University. Following the talks, ValentinaHarizanovandMichèleFriendraised thepossibility ofanexchange of ideas concerning algorithmic learning theory. In particular, this was to be a mutually bene?cial exchange between philosophers, mathematicians and computer scientists. Harizanov and Friend sent out invitations for contributions and invited Norma Goethe to join the editing team. The Dilthey Fellowship of the George Washington University provided resources over the summer of 2003 to enable the editors and some of the contributors to meet in Oviedo (Spain) at the 12th International Congress of Logic, Methodology and Philosophy of Science. The editing work proceeded from there. The idea behind the volume is to rekindle interdisciplinary discussion. Algorithmic learning theory has been around for nearly half a century. The immediate beginnings can be traced back to E.M. Gold's papers: “Limiting recursion” (1965) and “Language identi?cation in the limit” (1967). However, from a logical point of view, the deeper roots of the learni- theoretic analysis go back to Carnap's work on inductive logic (1950, 1952).
- Published
- 2007
18. Computational Intelligence-based Optimization Algorithms : From Theory to Practice
- Author
-
Babak Zolghadr-Asli and Babak Zolghadr-Asli
- Subjects
- Computational intelligence, Computer algorithms
- Abstract
Computational intelligence-based optimization methods, also known as metaheuristic optimization algorithms, are a popular topic in mathematical programming.These methods have bridged the gap between various approaches and created a new school of thought to solve real-world optimization problems. In this book, we have selected some of the most effective and renowned algorithms in the literature. These algorithms are not only practical but also provide thought-provoking theoretical ideas to help readers understand how they solve optimization problems. Each chapter includes a brief review of the algorithm's background and the fields it has been used in.Additionally, Python code is provided for all algorithms at the end of each chapter, making this book a valuable resource for beginner and intermediate programmers looking to understand these algorithms.
- Published
- 2024
19. Visual Basic and Algorithmic Thinking for the Complete Beginner : Master Visual Basic and Algorithmic Thinking: From Fundamentals to Advanced Concepts
- Author
-
Aristides Bouras and Aristides Bouras
- Subjects
- Computer algorithms, Object-oriented programming (Computer science), Visual Basic (Computer program language)
- Abstract
Explore the essentials of computer programming and algorithmic thinking with Visual Basic. This comprehensive course is designed for beginners to master the core concepts and practical applications.Key FeaturesComprehensive coverage of Visual Basic and algorithms with practical exercises and examplesIntroduction to programming fundamentals, & in-depth exploration of advanced structuresIntroduction to arrays, subprograms, and object-oriented programmingBook DescriptionThis course begins with a fundamental overview of how computers operate, setting a solid foundation for your learning. You'll then delve into the essentials of Visual Basic, exploring integrated development environments and necessary software packages. As you progress, you'll tackle basic algorithmic concepts, variables, constants, and how to handle input and output efficiently. Moving forward, the course introduces you to control structures, starting with sequence control, and advancing through various decision structures, including single, dual, and multiple-alternative decisions. You'll gain practical experience with flowcharts and decision-making processes, equipping you with the skills to manage complex programming scenarios. The latter part of the course focuses on loop control structures, both simple and nested, and teaches you to implement them effectively through practical exercises and flowcharts. Finally, you'll explore advanced topics such as data structures, including one-dimensional and two-dimensional arrays, and dictionaries. The course also covers subprograms and object-oriented programming, ensuring you have a comprehensive understanding of Visual Basic. With a practical approach, this course is designed to build your confidence in programming, enabling you to tackle real-world problems with ease.What you will learnUnderstand how computers work and the basics of Visual BasicInstall and configure essential software packagesUse variables, constants, and handle input/output effectivelyApply operators and create trace tablesImplement sequence, decision, and loop control structuresExplore object-oriented programming and file handlingWho this book is forThis course is ideal for a wide range of learners. Complete beginners with no prior programming experience will find it particularly beneficial, as it starts from the basics and builds up gradually. High school and college students looking to strengthen their understanding of programming fundamentals will also benefit from this comprehensive guide. Additionally, professionals from non-technical fields who wish to acquire programming skills for career advancement or personal interest will find the course accessible and rewarding.
- Published
- 2024
20. Grokking Algorithms, Second Edition
- Author
-
Aditya Y Bhargava and Aditya Y Bhargava
- Subjects
- Computer algorithms, Computer programming--Handbooks, manuals, etc
- Abstract
A friendly, fully-illustrated introduction to the most important computer programming algorithms.Master the most widely used algorithms and be fully prepared when you're asked about them at your next job interview. With beautifully simple explanations, over 400 fun illustrations, and dozens of relevant examples, you'll actually enjoy learning about algorithms with this fun and friendly guide! In Grokking Algorithms, Second Edition you will discover: Search, sort, and graph algorithms Data structures such as arrays, lists, hash tables, trees, and graphs NP-complete and greedy algorithms Performance trade-offs between algorithms Exercises and code samples in every chapter Over 400 illustrations with detailed walkthroughs The first edition of Grokking Algorithms proved to over 100,000 readers that learning algorithms doesn't have to be complicated or boring! This revised second edition contains brand new coverage of trees, including binary search trees, balanced trees, B-trees and more. You'll also discover fresh insights on data structure performance that takes account of modern CPUs. Plus, the book's fully annotated code samples have been updated to Python 3. Foreword by Daniel Zingaro. About the technology The algorithms you use most often have already been discovered, tested, and proven. Grokking Algorithms, Second Edition makes it a breeze to learn, understand, and use them. With beautifully simple explanations, over 400 fun illustrations, and dozens of relevant examples, it's the perfect way to unlock the power of algorithms in your everyday work and prepare for your next coding interview—no math required! About the book Grokking Algorithms, Second Edition teaches you important algorithms to speed up your programs, simplify your code, and solve common programming problems. Start with tasks like sorting and searching, then build your skills to tackle advanced problems like data compression and artificial intelligence. You'll even learn to compare the performance tradeoffs between algorithms. Plus, this new edition includes fresh coverage of trees, NP-complete problems, and code updates to Python 3. What's inside Search, sort, and graph algorithms Data structures such as arrays, lists, hash tables, trees, and graphs NP-complete and greedy algorithms Exercises and code samples in every chapter About the reader No advanced math or programming skills required. About the author Aditya Bhargava is a Software Engineer with a dual background in Computer Science and Fine Arts. He blogs on programming at adit.io. Table of Contents 1 Introduction to algorithms 2 Selection sort 3 Recursion 4 Quicksort 5 Hash tables 6 Beadth-first search 7 Trees 8 Balanced trees 9 Dijkstra's algorithm 10 Greedy algorithms 11 Dynamic programming 12 k-nearest neighbors 13 where to go next
- Published
- 2024
21. Python and Algorithmic Thinking for the Complete Beginner : Learn to Think Like a Programmer by Mastering Python Programming and Algorithmic Foundations
- Author
-
Aristides Bouras and Aristides Bouras
- Subjects
- Computer algorithms, Python (Computer program language)
- Abstract
Unlock the power of Python with this comprehensive guide, “Python and Algorithmic Thinking for the Complete Beginner.” It covers everything from computer basics to advanced decision and loop control structures.Key FeaturesComprehensive coverage from basic computer operations to advanced programming conceptsStep-by-step progression of each topic, along with tips and tricks to enhance coding efficiencyIn-depth exploration of Python and algorithmic thinking with exercises and practical examplesBook DescriptionThis course is meticulously designed to take beginners on a journey through the fascinating world of Python programming and algorithmic thinking. The initial chapters lay a strong foundation, starting with the basics of how computers operate, moving into Python programming, and familiarizing learners with integrated development environments like IDLE and Visual Studio Code. Further, the course delves into essential programming constructs such as variables, constants, input/output handling, and operators. You'll gain practical experience with trace tables, sequence control structures, and decision control structures through comprehensive exercises and examples. The curriculum emphasizes hands-on learning with chapters dedicated to manipulating numbers, strings, and understanding complex mathematical expressions. By mastering these concepts, you'll be well-prepared to tackle more advanced topics. The final chapters introduce you to object-oriented programming and file manipulation, rounding out your skill set. Throughout the course, practical tips and tricks are provided to enhance your coding efficiency and problem-solving skills. By the end of this course, you will have a robust understanding of Python programming and the ability to apply algorithmic thinking to solve real-world problems.What you will learnUnderstand how computers work and the basics of Python programmingInstall and use integrated development environments (IDEs)Develop skills in decision and loop control structuresManipulate data using lists, dictionaries, and stringsApply algorithmic thinking to solve complex problemsGain proficiency in object-oriented programming & file manipulationWho this book is forThis course is ideal for absolute beginners with no prior programming experience. Basic computer literacy is required, but no specific knowledge of programming or algorithms is necessary. It is also suitable for individuals looking to refresh their Python skills and enhance their understanding of algorithmic thinking. High school and college students interested in programming, professionals seeking to upskill, and hobbyists eager to learn a new programming language will all find value in this course.
- Published
- 2024
22. Data Structures and Algorithms with Python : With an Introduction to Multiprocessing
- Author
-
Kent D. Lee, Steve Hubbard, Kent D. Lee, and Steve Hubbard
- Subjects
- Python (Computer program language), Data structures (Computer science), Algorithms, Computer algorithms
- Abstract
This textbook explains the concepts and techniques required to write programs that can handle large amounts of data efficiently. Project-oriented and classroom-tested, the book presents a number of important algorithms—supported by motivating examples—that bring meaning to the problems faced by computer programmers. The idea of computational complexity is introduced, demonstrating what can and cannot be computed efficiently at scale, helping programmers make informed judgements about the algorithms they use. The easy-to-read text assumes some basic experience in computer programming and familiarity in an object-oriented language, but not necessarily with Python.Topics and features:Includes introductory and advanced data structures and algorithms topics, with suggested chapter sequences for those respective coursesProvides learning goals, review questions, and programming exercises in each chapter, as well as numerous examplesPresents a primer on Python for those coming from a different language backgroundAdds a new chapter on multiprocessing with Python using the DragonHPC multinode implementation of multiprocessing (includes a tutorial)Reviews the use of hashing in sets and maps, and examines binary search trees, tree traversals, and select graph algorithmsOffers downloadable programs and supplementary files at an associated website to help studentsStudents of computer science will find this clear and concise textbook invaluable for undergraduate courses on data structures and algorithms, at both introductory and advanced levels. The book is also suitable as a refresher guide for computer programmers starting new jobs working with Python.Dr. Kent D. Lee is a Professor Emeritus of Computer Science at Luther College, Decorah, Iowa, USA. He is the author of the successful Springer books, Python Programming Fundamentals, and Foundations of Programming Languages.Dr. Steve Hubbard is a Professor Emeritus of Mathematics and Computer Science at Luther College.
- Published
- 2024
23. Quantum Computing Algorithms : Discover How a Little Math Goes a Long Way
- Author
-
Barry Burd and Barry Burd
- Subjects
- Computer algorithms, Quantum computing--Mathematics
- Abstract
Explore essential quantum computing algorithms and master concepts intuitively with minimal math expertise requiredKey FeaturesLearn the fundamentals with an introduction to matrix arithmeticWrite quantum computing programs in Qiskit—IBM's publicly available quantum computing websiteEmail your questions directly to the author—no question is too elementaryPurchase of the print or Kindle book includes a free PDF eBookBook DescriptionNavigate the quantum computing spectrum with this book, bridging the gap between abstract, math-heavy texts and math-avoidant beginner guides. Unlike intermediate-level books that often leave gaps in comprehension, this all-encompassing guide offers the missing links you need to truly understand the subject. Balancing intuition and rigor, this book empowers you to become a master of quantum algorithms. No longer confined to canned examples, you'll acquire the skills necessary to craft your own quantum code. Quantum Computing Algorithms is organized into four sections to build your expertise progressively. The first section lays the foundation with essential quantum concepts, ensuring that you grasp qubits, their representation, and their transformations. Moving to quantum algorithms, the second section focuses on pivotal algorithms — specifically, quantum key distribution and teleportation. The third section demonstrates the transformative power of algorithms that outpace classical computation and makes way for the fourth section, helping you to expand your horizons by exploring alternative quantum computing models. By the end of this book, quantum algorithms will cease to be mystifying as you make this knowledge your asset and enter a new era of computation, where you have the power to shape the code of reality.What you will learnDefine quantum circuitsHarness superposition and entanglement to solve classical problemsGain insights into the implementation of quantum teleportationExplore the impact of quantum computing on cryptographyTranslate theoretical knowledge into practical skills by writing and executing code on real quantum hardwareExpand your understanding of this domain by uncovering alternative quantum computing modelsWho this book is forThis book is for individuals familiar with algebra and computer programming, eager to delve into modern physics concepts. Whether you've dabbled in introductory quantum computing material or are seeking deeper insights, this quantum computing book is your gateway to in-depth exploration.
- Published
- 2023
24. Hidden in White Sight : How AI Empowers and Deepens Systemic Racism
- Author
-
Calvin D. Lawrence and Calvin D. Lawrence
- Subjects
- Computer algorithms, Racism, Artificial intelligence
- Abstract
Artificial Intelligence was meant to be the great social equalizer that helps promote fairness by removing human bias from the equation, but is this true? Given that the policing and judicial systems can display human bias, this book explores how the technology they use can also reflect these prejudices. From healthcare services to social scoring in exams, to applying for and getting loans, AI outcomes often restrict those most in need of these services. Through personal stories from an esteemed Black Data Scientist and AI expert, this book attempts to demystify the algorithmic black box. AI pervades all aspects of modern society and affects everyone within it, yet its internal biases are rarely confronted. This book advises readers on what they can do to fight against it, including the introduction of a proposed AI Bill of Rights, whilst also providing specific recommendations for AI developers and technologists. https://hiddeninwhitesight.com/
- Published
- 2023
25. Data Structure and Algorithm
- Author
-
Raza Khan, Nikhat and Raza Khan, Nikhat
- Subjects
- Computer algorithms, Data structures (Computer science)
- Abstract
Data structure and algorithms are two of the most important aspects of computer science. Data structure and algorithms help in understanding the nature of the problem at a deeper level and thereby a better understanding of the world. Learning data structure and algorithms will help you become a better programmer. This book provides a comprehensive introduction to the modern study of computer algorithms. It presents many algorithms and covers them in considerable depth, which makes their design and analysis accessible to all levels of readers. This book provides with an enjoyable introduction to the field of algorithms.
- Published
- 2023
26. Algorithms, Humans, and Interactions : How Do Algorithms Interact with People? Designing Meaningful AI Experiences
- Author
-
Don Donghee Shin and Don Donghee Shin
- Subjects
- Computer algorithms, Artificial intelligence--Design and construction, Artificial intelligence--Social aspects, Human-computer interaction, Computer algorithms--Social aspects
- Abstract
Amidst the rampant use of algorithmization enabled by AI, the common theme of AI systems is the human factor. Humans play an essential role in designing, developing, and operationalizing AI systems. We have a remit to ensure those systems run transparently, perform equitably, value our privacy, and effectively fulfill human needs. This book takes an interdisciplinary approach to contribute to the ongoing development of human–AI interaction with a particular focus on the'human'dimension and provides insights to improve the design of AI that could be genuinely beneficial and effectively used in society. The readers of this book will benefit by gaining insights into various perspectives about how AI has impacted people and society and how it will do so in the future, and understanding how we can design algorithm systems that are beneficial, legitimate, usable by humans, and designed considering and respecting human values. This book provides a horizontal set of guidelines and insight into how humans can be empowered by making choices about AI designs that allow them meaningful control over AI. Designing meaningful AI experiences has garnered great attention to address responsibility gaps and mitigate them by establishing conditions that enable the proper attribution of responsibility to humans. This book helps us understand the possibilities of what AI systems can do and how they can and should be integrated into our society.
- Published
- 2023
27. The Illusion of Control : Project Data, Computer Algorithms and Human Intuition for Project Management and Control
- Author
-
Mario Vanhoucke and Mario Vanhoucke
- Subjects
- Computer algorithms, Data mining, Project management--Data processing
- Abstract
This book comprehensively assesses the growing importance of project data for project scheduling, risk analysis and control. It discusses the relevance of project data for both researchers and professionals, and illustrates why the collection, processing and use of such data is not as straightforward as most people think. The theme of this book is known in the literature as data-driven project management and includes the discussion of using computer algorithms, human intuition, and project data for managing projects under risk. The book reviews the basic components of data-driven project management by summarizing the current state-of-the-art methodologies, including the latest computer and machine learning algorithms and statistical methodologies, for project risk and control. It highlights the importance of artificial project data for academics, and describes the specific requirements such data must meet. In turn, the book discusses a wide variety of statistical methods available to generate these artificial data and shows how they have helped researchers to develop algorithms and tools to improve decision-making in project management. Moreover, it examines the relevance of project data from a professional standpoint and describes how professionals should collect empirical project data for better decision-making. Finally, the book introduces a new approach to data collection, generation, and analysis for creating project databases, making it relevant for academic researchers and professional project managers alike.
- Published
- 2023
28. A Common-Sense Guide to Data Structures and Algorithms in Python, Volume 1
- Author
-
Jay Wengrow and Jay Wengrow
- Subjects
- Python (Computer program language), Data structures (Computer science), Computer algorithms
- Abstract
p>If you thought data structures and algorithms were all just theory, you're missing out on what they can do for your Python code. Learn to use Big O notation to make your code run faster by orders of magnitude. Choose from data structures such as hash tables, trees, and graphs to increase your code's efficiency exponentially. With simple language and clear diagrams, this book makes this complex topic accessible, no matter your background. Every chapter features practice exercises to give you the hands-on information you need to master data structures and algorithms for your day-to-day work.Algorithms and data structures are much more than abstract concepts. Mastering them enables you to write code that runs faster and more efficiently, which is particularly important for today's web and mobile apps. Take a practical approach to data structures and algorithms, with techniques and real-world scenarios that you can use in your daily production code. The Python edition uses Python exclusively for all code examples, exercise, and solutions.Use Big O notation to measure and articulate the efficiency of your code, and modify your algorithm to make it faster. Find out how your choice of arrays, linked lists, and hash tables can dramatically affect the code you write. Use recursion to solve tricky problems and create algorithms that run exponentially faster than the alternatives. Dig into advanced data structures such as binary trees and graphs to help scale specialized applications such as social networks and mapping software. You'll even encounter a single keyword that can give your code a turbo boost. Practice your new skills with exercises in every chapter, along with detailed solutions.Use these techniques today to make your Python code faster and more scalable.
- Published
- 2023
29. 50 Algorithms Every Programmer Should Know : Tackle Computer Science Challenges with Classic to Modern Algorithms in Machine Learning, Software Design, Data Systems, and Cryptography
- Author
-
Imran Ahmad and Imran Ahmad
- Subjects
- Computer programming, Computer algorithms, Algorithms
- Abstract
Delve into the realm of generative AI and large language models (LLMs) while exploring modern deep learning techniques, including LSTMs, GRUs, RNNs with new chapters included in this 50% new edition overhaul Purchase of the print or Kindle book includes a free eBook in PDF format.Key FeaturesFamiliarize yourself with advanced deep learning architecturesExplore newer topics, such as handling hidden bias in data and algorithm explainabilityGet to grips with different programming algorithms and choose the right data structures for their optimal implementationBook DescriptionThe ability to use algorithms to solve real-world problems is a must-have skill for any developer or programmer. This book will help you not only to develop the skills to select and use an algorithm to tackle problems in the real world but also to understand how it works. You'll start with an introduction to algorithms and discover various algorithm design techniques, before exploring how to implement different types of algorithms, with the help of practical examples. As you advance, you'll learn about linear programming, page ranking, and graphs, and will then work with machine learning algorithms to understand the math and logic behind them. Case studies will show you how to apply these algorithms optimally before you focus on deep learning algorithms and learn about different types of deep learning models along with their practical use. You will also learn about modern sequential models and their variants, algorithms, methodologies, and architectures that are used to implement Large Language Models (LLMs) such as ChatGPT. Finally, you'll become well versed in techniques that enable parallel processing, giving you the ability to use these algorithms for compute-intensive tasks. By the end of this programming book, you'll have become adept at solving real-world computational problems by using a wide range of algorithms.What you will learnDesign algorithms for solving complex problemsBecome familiar with neural networks and deep learning techniquesExplore existing data structures and algorithms found in Python librariesImplement graph algorithms for fraud detection using network analysisDelve into state-of-the-art algorithms for proficient Natural Language Processing illustrated with real-world examplesCreate a recommendation engine that suggests relevant movies to subscribersGrasp the concepts of sequential machine learning models and their foundational role in the development of cutting-edge LLMsWho this book is forThis computer science book is for programmers or developers who want to understand the use of algorithms for problem-solving and writing efficient code. Whether you are a beginner looking to learn the most used algorithms concisely or an experienced programmer looking to explore cutting-edge algorithms in data science, machine learning, and cryptography, you'll find this book useful. Python programming experience is a must, knowledge of data science will be helpful but not necessary.
- Published
- 2022
30. Algorithms For Dummies
- Author
-
John Paul Mueller, Luca Massaron, John Paul Mueller, and Luca Massaron
- Subjects
- Computer algorithms
- Abstract
Your secret weapon to understanding—and using!—one of the most powerful influences in the world today From your Facebook News Feed to your most recent insurance premiums—even making toast!—algorithms play a role in virtually everything that happens in modern society and in your personal life. And while they can seem complicated from a distance, the reality is that, with a little help, anyone can understand—and even use—these powerful problem-solving tools! In Algorithms For Dummies, you'll discover the basics of algorithms, including what they are, how they work, where you can find them (spoiler alert: everywhere!), who invented the most important ones in use today (a Greek philosopher is involved), and how to create them yourself. You'll also find: Dozens of graphs and charts that help you understand the inner workings of algorithms Links to an online repository called GitHub for constant access to updated code Step-by-step instructions on how to use Google Colaboratory, a zero-setup coding environment that runs right from your browser Whether you're a curious internet user wondering how Google seems to always know the right answer to your question or a beginning computer science student looking for a head start on your next class, Algorithms For Dummies is the can't-miss resource you've been waiting for.
- Published
- 2022
31. The Art of Algorithm Design
- Author
-
Sachi Nandan Mohanty, Pabitra Kumar Tripathy, Suneeta Satpathy, Sachi Nandan Mohanty, Pabitra Kumar Tripathy, and Suneeta Satpathy
- Subjects
- Computer algorithms
- Abstract
The Art of Algorithm Design is a complementary perception of all books on algorithm design and is a roadmap for all levels of learners as well as professionals dealing with algorithmic problems. Further, the book provides a comprehensive introduction to algorithms and covers them in considerable depth, yet makes their design and analysis accessible to all levels of readers. All algorithms are described and designed with a'pseudo-code'to be readable by anyone with little knowledge of programming.This book comprises of a comprehensive set of problems and their solutions against each algorithm to demonstrate its executional assessment and complexity, with an objective to: Understand the introductory concepts and design principles of algorithms and their complexities Demonstrate the programming implementations of all the algorithms using C-Language Be an excellent handbook on algorithms with self-explanatory chapters enriched with problems and solutions While other books may also cover some of the same topics, this book is designed to be both versatile and complete as it traverses through step-by-step concepts and methods for analyzing each algorithmic complexity with pseudo-code examples. Moreover, the book provides an enjoyable primer to the field of algorithms.This book is designed for undergraduates and postgraduates studying algorithm design.
- Published
- 2022
32. Introduction to Algorithms, Fourth Edition
- Author
-
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein
- Subjects
- Computer programming, Computer algorithms
- Abstract
A comprehensive update of the leading algorithms text, with new material on matchings in bipartite graphs, online algorithms, machine learning, and other topics.Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. Introduction to Algorithms uniquely combines rigor and comprehensiveness. It covers a broad range of algorithms in depth, yet makes their design and analysis accessible to all levels of readers, with self-contained chapters and algorithms in pseudocode. Since the publication of the first edition, Introduction to Algorithms has become the leading algorithms text in universities worldwide as well as the standard reference for professionals. This fourth edition has been updated throughout.New for the fourth edition New chapters on matchings in bipartite graphs, online algorithms, and machine learningNew material on topics including solving recurrence equations, hash tables, potential functions, and suffix arrays140 new exercises and 22 new problemsReader feedback–informed improvements to old problemsClearer, more personal, and gender-neutral writing styleColor added to improve visual presentationNotes, bibliography, and index updated to reflect developments in the fieldWebsite with new supplementary materialWarning: Avoid counterfeit copies of Introduction to Algorithms by buying only from reputable retailers. Counterfeit and pirated copies are incomplete and contain errors.
- Published
- 2022
33. Data Structures & Algorithms in Python
- Author
-
Robert Lafore, Alan Broder, John Canning, Robert Lafore, Alan Broder, and John Canning
- Subjects
- Computer algorithms, Algorithms, Data structures (Computer science), Python (Computer program language)
- Abstract
LEARN HOW TO USE DATA STRUCTURES IN WRITING HIGH PERFORMANCE PYTHON PROGRAMS AND ALGORITHMS This practical introduction to data structures and algorithms can help every programmer who wants to write more efficient software. Building on Robert Lafore's legendary Java-based guide, this book helps you understand exactly how data structures and algorithms operate. You'll learn how to efficiently apply them with the enormously popular Python language and scale your code to handle today's big data challenges. Throughout, the authors focus on real-world examples, communicate key ideas with intuitive, interactive visualizations, and limit complexity and math to what you need to improve performance. Step-by-step, they introduce arrays, sorting, stacks, queues, linked lists, recursion, binary trees, 2-3-4 trees, hash tables, spatial data structures, graphs, and more. Their code examples and illustrations are so clear, you can understand them even if you're a near-beginner, or your experience is with other procedural or object-oriented languages. Build core computer science skills that take you beyond merely “writing code” Learn how data structures make programs (and programmers) more efficient See how data organization and algorithms affect how much you can do with today's, and tomorrow's, computing resources Develop data structure implementation skills you can use in any language Choose the best data structure(s) and algorithms for each programming problem—and recognize which ones to avoid Data Structures & Algorithms in Python is packed with examples, review questions, individual and team exercises, thought experiments, and longer programming projects. It's ideal for both self-study and classroom settings, and either as a primary text or as a complement to a more formal presentation.
- Published
- 2022
34. Bio-Inspired Algorithms and Devices for Treatment of Cognitive Diseases Using Future Technologies
- Author
-
Shweta Gupta and Shweta Gupta
- Subjects
- Brain--Diseases--Treatment--Technological innovations, Brain--Diseases--Diagnosis--Technological innovations, Computer algorithms, Artificial intelligence--Medical applications
- Abstract
As there are no proper medical tests available to predict certain diseases such as Alzheimer's and Parkinson's at an early stage, there is a need to further study and consider the potential uses of bio- and nature-inspired algorithms and future technologies such as machine learning in correlation to disease detection and treatment. Bio-Inspired Algorithms and Devices for Treatment of Cognitive Diseases Using Future Technologies considers new tools for early detection of cognitive brain diseases using devices and algorithms whose basic concept is taken from nature and discusses design, analysis, and application of various bionics or bio-inspired algorithms. Covering topics such as depression and cognitive science, this publication is an ideal resource for researchers, academicians, industry professionals, psychologists, psychiatrists, nurses, engineers, instructors, and students.
- Published
- 2022
35. Introduction to Quantum Algorithms Via Linear Algebra, Second Edition
- Author
-
Richard J. Lipton, Kenneth W. Regan, Richard J. Lipton, and Kenneth W. Regan
- Subjects
- Algebras, Linear, Computer algorithms, Quantum computers
- Abstract
Quantum computing explained in terms of elementary linear algebra, emphasizing computation and algorithms and requiring no background in physics.This introduction to quantum algorithms is concise but comprehensive, covering many key algorithms. It is mathematically rigorous but requires minimal background and assumes no knowledge of quantum theory or quantum mechanics. The book explains quantum computation in terms of elementary linear algebra; it assumes the reader will have some familiarity with vectors, matrices, and their basic properties, but offers a review of the relevant material from linear algebra. By emphasizing computation and algorithms rather than physics, it makes quantum algorithms accessible to students and researchers in computer science who have not taken courses in quantum physics or delved into fine details of quantum effects, apparatus, circuits, or theory.
- Published
- 2021
36. The Art of Programming Through Flowcharts & Algorithms
- Author
-
Anil Bikas Chaudhuri and Anil Bikas Chaudhuri
- Subjects
- Structured programming, Computer algorithms, Computer programming
- Abstract
This book is meant for the beginners in computer programming. It is an endeavour to help those who initially stumble in tackling the program logic - be it at the school level or at the college level. As the books on computer programming language do not contain sufficient number of illustrative examples showing how to analyse a problem and form a sequential set of activities to become able to write a complete program, there is a demand of such a book, particularly in the minds of the mediocre students. As the problems discussed range from simple to hard, it will also fulfill the long-felt need of the advanced students. The concepts of the book is unique in the sense that it shows the program logic both in flowchart form as well as in the form of the corresponding algorithm. It is recommended for use of the students of class VIII, IX, X of ICSE Board and XI, XII, of WEBBHSE, BBA, BCA, B.Tech., MCA, AMIE, ICWA courses and DOEACC'O'&'A'level.
- Published
- 2021
37. How Algorithms Create and Prevent Fake News : Exploring the Impacts of Social Media, Deepfakes, GPT-3, and More
- Author
-
Noah Giansiracusa and Noah Giansiracusa
- Subjects
- Computer algorithms, Deepfakes--Prevention, Fake news--Prevention, Algorithms, Social media, Machine learning
- Abstract
'It's a joy to read a book by a mathematician who knows how to write. [...] There is no better guide to the strategies and stakes of this battle for the future.'---Paul Romer, Nobel Laureate, University Professor in Economics at NYU, and former Chief Economist at the World Bank. “By explaining the flaws and foibles of everything from Google search to QAnon—and by providing level-headed evaluations of efforts to fix them—Noah Giansiracusa offers the perfect starting point for anyone entering the maze of modern digital media.”—Jonathan Rauch, senior fellow at the Brookings Institute and contributing editor of The AtlanticFrom deepfakes to GPT-3, deep learning is now powering a new assault on our ability to tell what's real and what's not, bringing a whole new algorithmic side to fake news. On the other hand, remarkable methods are being developed to help automate fact-checking and the detection of fake news and doctored media. Success in the modern business world requires you to understand these algorithmic currents, and to recognize the strengths, limits, and impacts of deep learning---especially when it comes to discerning the truth and differentiating fact from fiction. This book tells the stories of this algorithmic battle for the truth and how it impacts individuals and society at large. In doing so, it weaves together the human stories and what's at stake here, a simplified technical background on how these algorithms work, and an accessible survey of the research literature exploring these various topics. How Algorithms Create and Prevent Fake News is an accessible, broad account of the various ways that data-driven algorithms have been distorting reality and rendering the truth harder to grasp. From news aggregators to Google searches to YouTube recommendations to Facebook news feeds, the way we obtain information todayis filtered through the lens of tech giant algorithms. The way data is collected, labelled, and stored has a big impact on the machine learning algorithms that are trained on it, and this is a main source of algorithmic bias – which gets amplified in harmful data feedback loops. Don't be afraid: with this book you'll see the remedies and technical solutions that are being applied to oppose these harmful trends. There is hope.What You Will LearnThe ways that data labeling and storage impact machine learning and how feedback loops can occurThe history and inner-workings of YouTube's recommendation algorithmThe state-of-the-art capabilities of AI-powered text generation (GPT-3) and video synthesis/doctoring (deepfakes) and how these technologies have been used so farThe algorithmic tools available to help with automated fact-checking and truth-detectionWho This Book is ForPeople who don't have a technical background (in data, computers, etc.) but who would like to learn how algorithms impact society; business leaders who want to know the powers and perils of relying on artificial intelligence. A secondary audience is people with a technical background who want to explore the larger social and societal impact of their work.
- Published
- 2021
38. How to Design Optimization Algorithms by Applying Natural Behavioral Patterns
- Author
-
Rohollah, Omidvar, Behrouz Minaei, Bidgoli, Rohollah, Omidvar, and Behrouz Minaei, Bidgoli
- Subjects
- Computer algorithms, Natural language processing (Computer science), Algorithms
- Abstract
How to Design Optimization Algorithms by Applying Natural Behavioral Patterns is a guide book that introduces readers to optimization algorithms based on natural language processing. Readers will learn about the basic concept of optimization, optimization algorithm fundamentals and the methods employed to formulate natural ideas and behaviors into algorithms. Readers will learn how to create their own algorithm from the information provided in the text.The book is a simple reference to students and programming enthusiasts who are interested in learning about optimization and the process of designing algorithms designed to mimic natural phenomena.
- Published
- 2021
39. Learning Algorithms
- Author
-
George Heineman and George Heineman
- Subjects
- Computer programming, Computer algorithms
- Abstract
When it comes to writing efficient code, every software professional needs to have an effective working knowledge of algorithms. In this practical book, author George Heineman (Algorithms in a Nutshell) provides concise and informative descriptions of key algorithms that improve coding in multiple languages. Software developers, testers, and maintainers will discover how algorithms solve computational problems creatively.Each chapter builds on earlier chapters through eye-catching visuals and a steady rollout of essential concepts, including an algorithm analysis to classify the performance of every algorithm presented in the book. At the end of each chapter, youâ??ll get to apply what youâ??ve learned to a novel challenge problemâ??simulating the experience you might find in a technical code interview.With this book, you will:Examine fundamental algorithms central to computer science and software engineeringLearn common strategies for efficient problem solvingâ??such as divide and conquer, dynamic programming, and greedy approachesAnalyze code to evaluate time complexity using big O notationUse existing Python libraries and data structures to solve problems using algorithmsUnderstand the main steps of important algorithms
- Published
- 2021
40. Advanced Algorithms and Data Structures
- Author
-
Marcello La Rocca and Marcello La Rocca
- Subjects
- Computer algorithms
- Abstract
'An accessible introduction to the fundamental algorithms used to run the world.'- Richard Vaughan, Purple Monkey Collective Advanced Algorithms and Data Structures introduces a collection of algorithms for complex programming challenges in data analysis, machine learning, and graph computing.Summary As a software engineer, you'll encounter countless programming challenges that initially seem confusing, difficult, or even impossible. Don't despair! Many of these “new” problems already have well-established solutions. Advanced Algorithms and Data Structures teaches you powerful approaches to a wide range of tricky coding challenges that you can adapt and apply to your own applications. Providing a balanced blend of classic, advanced, and new algorithms, this practical guide upgrades your programming toolbox with new perspectives and hands-on techniques. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Can you improve the speed and efficiency of your applications without investing in new hardware? Well, yes, you can: Innovations in algorithms and data structures have led to huge advances in application performance. Pick up this book to discover a collection of advanced algorithms that will make you a more effective developer. About the book Advanced Algorithms and Data Structures introduces a collection of algorithms for complex programming challenges in data analysis, machine learning, and graph computing. You'll discover cutting-edge approaches to a variety of tricky scenarios. You'll even learn to design your own data structures for projects that require a custom solution. What's inside Build on basic data structures you already know Profile your algorithms to speed up application Store and query strings efficiently Distribute clustering algorithms with MapReduce Solve logistics problems using graphs and optimization algorithms About the reader For intermediate programmers. About the author Marcello La Rocca is a research scientist and a full-stack engineer. His focus is on optimization algorithms, genetic algorithms, machine learning, and quantum computing. Table of Contents 1 Introducing data structures PART 1 IMPROVING OVER BASIC DATA STRUCTURES 2 Improving priority queues: d-way heaps 3 Treaps: Using randomization to balance binary search trees 4 Bloom filters: Reducing the memory for tracking content 5 Disjoint sets: Sub-linear time processing 6 Trie, radix trie: Efficient string search 7 Use case: LRU cache PART 2 MULTIDEMENSIONAL QUERIES 8 Nearest neighbors search 9 K-d trees: Multidimensional data indexing 10 Similarity Search Trees: Approximate nearest neighbors search for image retrieval 11 Applications of nearest neighbor search 12 Clustering 13 Parallel clustering: MapReduce and canopy clustering PART 3 PLANAR GRAPHS AND MINIMUM CROSSING NUMBER 14 An introduction to graphs: Finding paths of minimum distance 15 Graph embeddings and planarity: Drawing graphs with minimal edge intersections 16 Gradient descent: Optimization problems (not just) on graphs 17 Simulated annealing: Optimization beyond local minima 18 Genetic algorithms: Biologically inspired, fast-converging optimization
- Published
- 2021
41. Dive Into Algorithms : A Pythonic Adventure for the Intrepid Beginner
- Author
-
Bradford Tuckfield and Bradford Tuckfield
- Subjects
- Computer algorithms, Computer programming
- Abstract
Dive Into Algorithms is a broad introduction to algorithms using the Python Programming Language.Dive Into Algorithms is a wide-ranging, Pythonic tour of many of the world's most interesting algorithms. With little more than a bit of computer programming experience and basic high-school math, you'll explore standard computer science algorithms for searching, sorting, and optimization; human-based algorithms that help us determine how to catch a baseball or eat the right amount at a buffet; and advanced algorithms like ones used in machine learning and artificial intelligence. You'll even explore how ancient Egyptians and Russian peasants used algorithms to multiply numbers, how the ancient Greeks used them to find greatest common divisors, and how Japanese scholars in the age of samurai designed algorithms capable of generating magic squares.You'll explore algorithms that are useful in pure mathematics and learn how mathematical ideas can improve algorithms. You'll learn about an algorithm for generating continued fractions, one for quick calculations of square roots, and another for generating seemingly random sets of numbers.You'll also learn how to: • Use algorithms to debug code, maximize revenue, schedule tasks, and create decision trees • Measure the efficiency and speed of algorithms • Generate Voronoi diagrams for use in various geometric applications • Use algorithms to build a simple chatbot, win at board games, or solve sudoku puzzles • Write code for gradient ascent and descent algorithms that can find the maxima and minima of functions • Use simulated annealing to perform global optimization • Build a decision tree to predict happiness based on a person's characteristicsOnce you've finished this book you'll understand how to code and implement important algorithms as well as how to measure and optimize their performance, all while learning the nitty-gritty details of today's most powerful algorithms.
- Published
- 2021
42. Introducing Algorithms in C : A Step by Step Guide to Algorithms in C
- Author
-
Luciano Manelli and Luciano Manelli
- Subjects
- Computer algorithms, C (Computer program language), Computer programming
- Abstract
Study elementary and complex algorithms with clear examples and implementations in C. This book introduces data types (simple and structured) and algorithms with graphical and textual explanations. In the next sections, you'll cover simple and complex standard algorithms with their flowcharts: everything is integrated with explanations and tables to give a step-by-step evolution of the algorithms. The main algorithms are: the sum of three or n numbers in a loop, decimal-to-binary conversion, maximum and minimum search, linear/sequential search, binary search, bubble sort, selection sort, merging of two sorted arrays, reading characters from a file, stack management, and factorial and Fibonacci sequences. The last section of Introducing Algorithms in C is devoted to the introduction of the C language and the implementation of the code, which is connected to the studied algorithms. The book is full of screenshots and illustrations showingthe meaning of the code. What You Will Learn Implement algorithms in C Work with variables, constants, and primitive and structured types Use arrays, stacks, queues, graphs, trees, hash tables, records, and files Explore the design of algorithms Solve searching problems, including binary search, sorting, and bubble/selection sort Program recursive algorithms with factorial functions and Fibonacci sequences Who This Book Is For Primarily beginners: it can serve as a starting point for anyone who is beginning the study of computer science and information systems for the first time.
- Published
- 2020
43. Flowchart and Algorithm Basics : The Art of Programming
- Author
-
A. B. Chaudhuri and A. B. Chaudhuri
- Subjects
- Computer programming, Flow charts, Computer algorithms
- Abstract
This book is designed to equip the reader with all of the best followed, efficient, well-structured program logics in the form of flowcharts and algorithms. The basic purpose of flowcharting is to create the sequence of steps for showing the solution to problems through arithmetic and/or logical manipulations used to instruct computers. The applied and illustrative examples from different subject areas will definitely encourage readers to learn the logic leading to solid programming basics. Features:•Uses flowcharts and algorithms to solve problems from everyday applications, teaching the logic needed for the creation of computer instructions •Covers arrays, looping, file processing, etc.
- Published
- 2020
44. A Common-Sense Guide to Data Structures and Algorithms, Second Edition
- Author
-
Jay Wengrow and Jay Wengrow
- Subjects
- Computer algorithms, Data structures (Computer science)
- Abstract
Algorithms and data structures are much more than abstract concepts. Mastering them enables you to write code that runs faster and more efficiently, which is particularly important for today’s web and mobile apps. Take a practical approach to data structures and algorithms, with techniques and real-world scenarios that you can use in your daily production code, with examples in JavaScript, Python, and Ruby. This new and revised second edition features new chapters on recursion, dynamic programming, and using Big O in your daily work. Use Big O notation to measure and articulate the efficiency of your code, and modify your algorithm to make it faster. Find out how your choice of arrays, linked lists, and hash tables can dramatically affect the code you write. Use recursion to solve tricky problems and create algorithms that run exponentially faster than the alternatives. Dig into advanced data structures such as binary trees and graphs to help scale specialized applications such as social networks and mapping software. You’ll even encounter a single keyword that can give your code a turbo boost. Practice your new skills with exercises in every chapter, along with detailed solutions. Use these techniques today to make your code faster and more scalable.
- Published
- 2020
45. The Algorithm Design Manual
- Author
-
Steven S. Skiena and Steven S. Skiena
- Subjects
- Computer algorithms, Computer programming, Computer science--Mathematics
- Abstract
'My absolute favorite for this kind of interview preparation is Steven Skiena's The Algorithm Design Manual. More than any other book it helped me understand just how astonishingly commonplace … graph problems are -- they should be part of every working programmer's toolkit. The book also covers basic data structures and sorting algorithms, which is a nice bonus. … every 1 – pager has a simple picture, making it easy to remember. This is a great way to learn how to identify hundreds of problem types.'(Steve Yegge, Get that Job at Google)'Steven Skiena's Algorithm Design Manual retains its title as the best and most comprehensive practical algorithm guide to help identify and solve problems. … Every programmer should read this book, and anyone working in the field should keep it close to hand. … This is the best investment … a programmer or aspiring programmer can make.'(Harold Thimbleby, Times Higher Education)'It is wonderful to open to a random spot and discover aninteresting algorithm. This is the only textbook I felt compelled to bring with me out of my student days.... The color really adds a lot of energy to the new edition of the book!'(Cory Bart, University of Delaware)'The is the most approachable book on algorithms I have.'(Megan Squire, Elon University)---This newly expanded and updated third edition of the best-selling classic continues to take the'mystery'out of designing algorithms, and analyzing their efficiency. It serves as the primary textbook of choice for algorithm design courses and interview self-study, while maintaining its status as the premier practical reference guide to algorithms for programmers, researchers, and students. The reader-friendly Algorithm Design Manual provides straightforward access to combinatorial algorithms technology, stressing design over analysis. The first part, Practical Algorithm Design, provides accessible instruction on methods for designing and analyzing computer algorithms. The second part, the Hitchhiker's Guide to Algorithms, is intended for browsing and reference, and comprises the catalog of algorithmic resources, implementations, and an extensive bibliography. NEW to the third edition: -- New and expanded coverage of randomized algorithms, hashing, divide and conquer, approximation algorithms, and quantum computing -- Provides full online support for lecturers, including an improved website component with lecture slides and videos -- Full color illustrations and code instantly clarify difficult concepts -- Includes several new'war stories'relating experiences from real-world applications -- Over 100 new problems, including programming-challenge problems from LeetCode and Hackerrank. -- Provides up-to-date links leading to the best implementations available in C, C++, and Java Additional Learning Tools: -- Contains a unique catalog identifying the 75 algorithmic problems that arise most often in practice, leading the reader down the right path to solve them -- Exercises include'job interview problems'from major software companies -- Highlighted'take home lessons'emphasize essential concepts -- The'no theorem-proof'style provides a uniquely accessible and intuitive approach to a challenging subject -- Many algorithms are presented with actual code (written in C) -- Provides comprehensive references to both survey articles and the primary literature Written by a well-known algorithms researcher who received the IEEE Computer Science and Engineering Teaching Award, this substantially enhanced third edition of&n
- Published
- 2020
46. 40 Algorithms Every Programmer Should Know : Hone Your Problem-solving Skills by Learning Different Algorithms and Their Implementation in Python
- Author
-
Imran Ahmad and Imran Ahmad
- Subjects
- Python (Computer program language), Computer algorithms, Algorithms
- Abstract
Learn algorithms for solving classic computer science problems with this concise guide covering everything from fundamental algorithms, such as sorting and searching, to modern algorithms used in machine learning and cryptographyKey FeaturesLearn the techniques you need to know to design algorithms for solving complex problemsBecome familiar with neural networks and deep learning techniquesExplore different types of algorithms and choose the right data structures for their optimal implementationBook DescriptionAlgorithms have always played an important role in both the science and practice of computing. Beyond traditional computing, the ability to use algorithms to solve real-world problems is an important skill that any developer or programmer must have. This book will help you not only to develop the skills to select and use an algorithm to solve real-world problems but also to understand how it works. You'll start with an introduction to algorithms and discover various algorithm design techniques, before exploring how to implement different types of algorithms, such as searching and sorting, with the help of practical examples. As you advance to a more complex set of algorithms, you'll learn about linear programming, page ranking, and graphs, and even work with machine learning algorithms, understanding the math and logic behind them. Further on, case studies such as weather prediction, tweet clustering, and movie recommendation engines will show you how to apply these algorithms optimally. Finally, you'll become well versed in techniques that enable parallel processing, giving you the ability to use these algorithms for compute-intensive tasks. By the end of this book, you'll have become adept at solving real-world computational problems by using a wide range of algorithms.What you will learnExplore existing data structures and algorithms found in Python librariesImplement graph algorithms for fraud detection using network analysisWork with machine learning algorithms to cluster similar tweets and process Twitter data in real timePredict the weather using supervised learning algorithmsUse neural networks for object detectionCreate a recommendation engine that suggests relevant movies to subscribersImplement foolproof security using symmetric and asymmetric encryption on Google Cloud Platform (GCP)Who this book is forThis book is for programmers or developers who want to understand the use of algorithms for problem-solving and writing efficient code. Whether you are a beginner looking to learn the most commonly used algorithms in a clear and concise way or an experienced programmer looking to explore cutting-edge algorithms in data science, machine learning, and cryptography, you'll find this book useful. Although Python programming experience is a must, knowledge of data science will be helpful but not necessary.
- Published
- 2020
47. Mastering Machine Learning Algorithms : Expert Techniques for Implementing Popular Machine Learning Algorithms, Fine-tuning Your Models, and Understanding How They Work, 2nd Edition
- Author
-
Giuseppe Bonaccorso and Giuseppe Bonaccorso
- Subjects
- Computer algorithms, Machine learning, Algorithms
- Abstract
Updated and revised second edition of the bestselling guide to exploring and mastering the most important algorithms for solving complex machine learning problemsKey FeaturesUpdated to include new algorithms and techniquesCode updated to Python 3.8 & TensorFlow 2.x New coverage of regression analysis, time series analysis, deep learning models, and cutting-edge applicationsBook DescriptionMastering Machine Learning Algorithms, Second Edition helps you harness the real power of machine learning algorithms in order to implement smarter ways of meeting today's overwhelming data needs. This newly updated and revised guide will help you master algorithms used widely in semi-supervised learning, reinforcement learning, supervised learning, and unsupervised learning domains.You will use all the modern libraries from the Python ecosystem – including NumPy and Keras – to extract features from varied complexities of data. Ranging from Bayesian models to the Markov chain Monte Carlo algorithm to Hidden Markov models, this machine learning book teaches you how to extract features from your dataset, perform complex dimensionality reduction, and train supervised and semi-supervised models by making use of Python-based libraries such as scikit-learn. You will also discover practical applications for complex techniques such as maximum likelihood estimation, Hebbian learning, and ensemble learning, and how to use TensorFlow 2.x to train effective deep neural networks.By the end of this book, you will be ready to implement and solve end-to-end machine learning problems and use case scenarios.What you will learnUnderstand the characteristics of a machine learning algorithmImplement algorithms from supervised, semi-supervised, unsupervised, and RL domainsLearn how regression works in time-series analysis and risk predictionCreate, model, and train complex probabilistic models Cluster high-dimensional data and evaluate model accuracy Discover how artificial neural networks work – train, optimize, and validate them Work with autoencoders, Hebbian networks, and GANsWho this book is forThis book is for data science professionals who want to delve into complex ML algorithms to understand how various machine learning models can be built. Knowledge of Python programming is required.
- Published
- 2020
48. String Algorithms in C : Efficient Text Representation and Search
- Author
-
Thomas Mailund and Thomas Mailund
- Subjects
- Computer algorithms, C (Computer program language)
- Abstract
Implement practical data structures and algorithms for text search and discover how it is used inside other larger applications. This unique in-depth guide explains string algorithms using the C programming language. String Algorithms in C teaches you the following algorithms and how to use them: classical exact search algorithms; tries and compact tries; suffix trees and arrays; approximative pattern searches; and more. In this book, author Thomas Mailund provides a library with all the algorithms and applicable source code that you can use in your own programs. There are implementations of all the algorithms presented in this book so there are plenty of examples. You'll understand that string algorithms are used in various applications such as image processing, computer vision, text analytics processing from data science to web applications, information retrieval from databases, network security, and much more. What You Will Learn Use classical exact search algorithms including naive search, borders/border search, Knuth-Morris-Pratt, and Boyer-Moor with or without Horspool Search in trees, use tries and compact tries, and work with the Aho-Carasick algorithm Process suffix trees including the use and development of McCreight's algorithm Work with suffix arrays including binary searches; sorting naive constructions; suffix tree construction; skew algorithms; and the Borrows-Wheeler transform (BWT) Deal with enhanced suffix arrays including longest common prefix (LCP) Carry out approximative pattern searches among suffix trees and approximative BWT searches Who This Book Is For Those with at least some prior programming experience with C or Assembly and have at least prior experience with programming algorithms.
- Published
- 2020
49. Nine Algorithms That Changed the Future : The Ingenious Ideas That Drive Today's Computers
- Author
-
John MacCormick and John MacCormick
- Subjects
- Computer science, Computer algorithms, Artificial intelligence
- Abstract
Nine revolutionary algorithms that power our computers and smartphonesEvery day, we use our computers to perform remarkable feats. A simple web search picks out a handful of relevant needles from the world's biggest haystack. Uploading a photo to Facebook transmits millions of pieces of information over numerous error-prone network links, yet somehow a perfect copy of the photo arrives intact. Without even knowing it, we use public-key cryptography to transmit secret information like credit card numbers, and we use digital signatures to verify the identity of the websites we visit. How do our computers perform these tasks with such ease? John MacCormick answers this question in language anyone can understand, using vivid examples to explain the fundamental tricks behind nine computer algorithms that power our PCs, tablets, and smartphones.
- Published
- 2020
50. C++ Data Structures and Algorithm Design Principles : Leverage the Power of Modern C++ to Build Robust and Scalable Applications
- Author
-
John Carey, Shreyans Doshi, Payas Rajan, John Carey, Shreyans Doshi, and Payas Rajan
- Subjects
- Data structures (Computer science), C++ (Computer program language), Computer algorithms, Algorithms
- Abstract
Get started with C++ programming by learning how to build applications using its data structures and algorithmsKey FeaturesExplore data structures such as arrays, stacks, and graphs with real-world examplesStudy the trade-offs between algorithms and data structures and discover what works and what doesn'tDiscover how techniques such as bloom filters and multi-way heaps boost real-world applicationsBook DescriptionC++ is a mature multi-paradigm programming language that enables you to write high-level code with a high degree of control over the hardware. Today, significant parts of software infrastructure, including databases, browsers, multimedia frameworks, and GUI toolkits, are written in C++.This book starts by introducing C++ data structures and how to store data using linked lists, arrays, stacks, and queues. In later chapters, the book explains the basic algorithm design paradigms, such as the greedy approach and the divide-and-conquer approach, which are used to solve a large variety of computational problems. Finally, you will learn the advanced technique of dynamic programming to develop optimized implementations of several algorithms discussed in the book.By the end of this book, you will have learned how to implement standard data structures and algorithms in efficient and scalable C++ 14 code.What you will learnBuild applications using hash tables, dictionaries, and setsExplore how modern hardware affects the actual run-time performance of programsApply common algorithms such as heapsort and merge sort for string data typesUse C++ template metaprogramming to write code librariesImplement a URL shortening service using a bloom filterUse appropriate modern C++ idioms such as std:: array instead of C-style arraysWho this book is forThis book is for developers or students who want to revisit basic data structures and algorithm design techniques. Although no mathematical background is required, basic knowledge of complexity classes and Big O notation along with a qualification in an algorithms course will help you get the most out of this book. Familiarity with C++ 14 standard is assumed.
- Published
- 2019
Discovery Service for Jio Institute Digital Library
For full access to our library's resources, please sign in.