Computers

Problem Solving with Algorithms and Data Structures Using Python

Author: Bradley N. Miller,David L. Ranum

Publisher: Franklin Beedle & Assoc

ISBN: 9781590282571

Category: Computers

Page: 425

View: 6011

THIS TEXTBOOK is about computer science. It is also about Python. However, there is much more. The study of algorithms and data structures is central to understanding what computer science is all about. Learning computer science is not unlike learning any other type of difficult subject matter. The only way to be successful is through deliberate and incremental exposure to the fundamental ideas. A beginning computer scientist needs practice so that there is a thorough understanding before continuing on to the more complex parts of the curriculum. In addition, a beginner needs to be given the opportunity to be successful and gain confidence. This textbook is designed to serve as a text for a first course on data structures and algorithms, typically taught as the second course in the computer science curriculum. Even though the second course is considered more advanced than the first course, this book assumes you are beginners at this level. You may still be struggling with some of the basic ideas and skills from a first computer science course and yet be ready to further explore the discipline and continue to practice problem solving. We cover abstract data types and data structures, writing algorithms, and solving problems. We look at a number of data structures and solve classic problems that arise. The tools and techniques that you learn here will be applied over and over as you continue your study of computer science.
Computers

Algorithmen - Eine Einführung

Author: Thomas H. Cormen,Charles E. Leiserson,Ronald Rivest,Clifford Stein

Publisher: Walter de Gruyter GmbH & Co KG

ISBN: 3110522012

Category: Computers

Page: 1339

View: 8529

Der "Cormen" bietet eine umfassende und vielseitige Einführung in das moderne Studium von Algorithmen. Es stellt viele Algorithmen Schritt für Schritt vor, behandelt sie detailliert und macht deren Entwurf und deren Analyse allen Leserschichten zugänglich. Sorgfältige Erklärungen zur notwendigen Mathematik helfen, die Analyse der Algorithmen zu verstehen. Den Autoren ist es dabei geglückt, Erklärungen elementar zu halten, ohne auf Tiefe oder mathematische Exaktheit zu verzichten. Jedes der weitgehend eigenständig gestalteten Kapitel stellt einen Algorithmus, eine Entwurfstechnik, ein Anwendungsgebiet oder ein verwandtes Thema vor. Algorithmen werden beschrieben und in Pseudocode entworfen, der für jeden lesbar sein sollte, der schon selbst ein wenig programmiert hat. Zahlreiche Abbildungen verdeutlichen, wie die Algorithmen arbeiten. Ebenfalls angesprochen werden Belange der Implementierung und andere technische Fragen, wobei, da Effizienz als Entwurfskriterium betont wird, die Ausführungen eine sorgfältige Analyse der Laufzeiten der Programme mit ein schließen. Über 1000 Übungen und Problemstellungen und ein umfangreiches Quellen- und Literaturverzeichnis komplettieren das Lehrbuch, dass durch das ganze Studium, aber auch noch danach als mathematisches Nachschlagewerk oder als technisches Handbuch nützlich ist. Für die dritte Auflage wurde das gesamte Buch aktualisiert. Die Änderungen sind vielfältig und umfassen insbesondere neue Kapitel, überarbeiteten Pseudocode, didaktische Verbesserungen und einen lebhafteren Schreibstil. So wurden etwa - neue Kapitel zu van-Emde-Boas-Bäume und mehrfädigen (engl.: multithreaded) Algorithmen aufgenommen, - das Kapitel zu Rekursionsgleichungen überarbeitet, sodass es nunmehr die Teile-und-Beherrsche-Methode besser abdeckt, - die Betrachtungen zu dynamischer Programmierung und Greedy-Algorithmen überarbeitet; Memoisation und der Begriff des Teilproblem-Graphen als eine Möglichkeit, die Laufzeit eines auf dynamischer Programmierung beruhender Algorithmus zu verstehen, werden eingeführt. - 100 neue Übungsaufgaben und 28 neue Problemstellungen ergänzt. Umfangreiches Dozentenmaterial (auf englisch) ist über die Website des US-Verlags verfügbar.
Technology & Engineering

Datenstrukturen und effiziente Algorithmen

Band 1: Sortieren und Suchen

Author: N.A

Publisher: Vieweg+Teubner Verlag

ISBN: 9783322867872

Category: Technology & Engineering

Page: 317

View: 5464

Der Entwurf und die Analyse von Datenstrukturen und effizienten Algorithmen hat in den letzten Jahren große Bedeutung erlangt: Algorithmus ist der zentrale Begriff der Informatik und Effizienz bedeutet Geld. Ich habe den Stoff in drei Bände und neun Kapitel gegliedert. Band 1: Sortieren und Suchen (Kapitel I bis ill) Band 2: Graphenalgorithmen und NP-Vollständigkeit (Kapitel IV bis VI) Band 3: Mehrdimensionales Suchen und Algorithmische Geometrie (Kapitel VII und Vill), Algorithmische Paradigmen (Kapitel IX) Die Bände 2 und 3 haben Band 1 als gemeinsame Basis, sind aber voneinander un abhängig. Große Teile dieser Bände können ohne detaillierte Kenntnis von Band 1 gelesen werden; eine Kenntnis der algorithmischen Grundprinzipien, wie sie etwa in Kapitel I oder in vielen anderen Büchern über Datenstrukturen und Algorith men vermittelt werden, genügt. Die spezifischen Voraussetzungen für die Bände 2 und 3 sind in den jeweiligen Vorworten angegeben. In allen drei Bänden stellen wir wichtige effiziente Algorithmen für die grundlegenden Probleme in dem jeweiligen Gebiet vor und analysieren sie. Wir messen dabei Effizienz durch die Laufzeit auf einem realistischen Modell einer Rechenanlage, das wir in Kapitel I einführen. Die meisten der vorgestellten Algorithmen wurden erst in den letzten Jahren gefunden; die Informatik ist ja schließlich eine sehr junge Wissenschaft. Es gibt kaum Sätze in diesem Buch, die älter als 20 Jahre sind, und mindestens die Hälfte des Stoffes ist jünger als 10 Jahre. Ich habe stets versucht, den Leser bis an den Stand der Forschung heranzuführen.
Computers

Datenanalyse mit Python

Auswertung von Daten mit Pandas, NumPy und IPython

Author: Wes McKinney

Publisher: O'Reilly

ISBN: 3960102143

Category: Computers

Page: 542

View: 4091

Erfahren Sie alles über das Manipulieren, Bereinigen, Verarbeiten und Aufbereiten von Datensätzen mit Python: Aktualisiert auf Python 3.6, zeigt Ihnen dieses konsequent praxisbezogene Buch anhand konkreter Fallbeispiele, wie Sie eine Vielzahl von typischen Datenanalyse-Problemen effektiv lösen. Gleichzeitig lernen Sie die neuesten Versionen von pandas, NumPy, IPython und Jupyter kennen.Geschrieben von Wes McKinney, dem Begründer des pandas-Projekts, bietet Datenanalyse mit Python einen praktischen Einstieg in die Data-Science-Tools von Python. Das Buch eignet sich sowohl für Datenanalysten, für die Python Neuland ist, als auch für Python-Programmierer, die sich in Data Science und Scientific Computing einarbeiten wollen. Daten und zugehöriges Material des Buchs sind auf GitHub verfügbar.Aus dem Inhalt:Nutzen Sie die IPython-Shell und Jupyter Notebook für das explorative ComputingLernen Sie Grundfunktionen und fortgeschrittene Features von NumPy kennenSetzen Sie die Datenanalyse-Tools der pandasBibliothek einVerwenden Sie flexible Werkzeuge zum Laden, Bereinigen, Transformieren, Zusammenführen und Umformen von DatenErstellen Sie interformative Visualisierungen mit matplotlibWenden Sie die GroupBy-Mechanismen von pandas an, um Datensätzen zurechtzuschneiden, umzugestalten und zusammenzufassenAnalysieren und manipulieren Sie verschiedenste Zeitreihen-DatenFür diese aktualisierte 2. Auflage wurde der gesamte Code an Python 3.6 und die neuesten Versionen der pandas-Bibliothek angepasst. Neu in dieser Auflage: Informationen zu fortgeschrittenen pandas-Tools sowie eine kurze Einführung in statsmodels und scikit-learn.
Computers

Programmieren lernen mit Python

Author: Allen B. Downey

Publisher: O'Reilly Germany

ISBN: 3955618072

Category: Computers

Page: 320

View: 5406

Python ist eine moderne, interpretierte, interaktive und objektorientierte Skriptsprache, vielseitig einsetzbar und sehr beliebt. Mit mathematischen Vorkenntnissen ist Python leicht erlernbar und daher die ideale Sprache für den Einstieg in die Welt des Programmierens. Das Buch führt Sie Schritt für Schritt durch die Sprache, beginnend mit grundlegenden Programmierkonzepten, über Funktionen, Syntax und Semantik, Rekursion und Datenstrukturen bis hin zum objektorientierten Design. Zur aktualisierten Auflage Diese Auflage behandelt Python 3, geht dabei aber auch auf Unterschiede zu Python 2 ein. Außerdem wurde das Buch um die Themen Unicode, List und Dictionary Comprehensions, den Mengen-Typ Set, die String-Format-Methode und print als Funktion ergänzt. Jenseits reiner Theorie Jedes Kapitel enthält passende Übungen und Fallstudien, kurze Verständnistests und kleinere Projekte, an denen Sie die neu erlernten Programmierkonzepte gleich ausprobieren und festigen können. Auf diese Weise können Sie das Gelernte direkt anwenden und die jeweiligen Programmierkonzepte nachvollziehen. Lernen Sie Debugging-Techniken kennen Am Ende jedes Kapitels finden Sie einen Abschnitt zum Thema Debugging, der Techniken zum Aufspüren und Vermeiden von Bugs sowie Warnungen vor entsprechenden Stolpersteinen in Python enthält.
Computer algorithms

Algorithmen in Java

Author: Robert Sedgewick

Publisher: N.A

ISBN: 9783827370723

Category: Computer algorithms

Page: 816

View: 4528

Computers

Algorithmen für Dummies

Author: John Paul Mueller,Luca Massaron

Publisher: John Wiley & Sons

ISBN: 3527809775

Category: Computers

Page: 320

View: 721

Wir leben in einer algorithmenbestimmten Welt. Deshalb lohnt es sich zu verstehen, wie Algorithmen arbeiten. Das Buch prï¿1⁄2sentiert die wichtigsten Anwendungsgebiete fï¿1⁄2r Algorithmen: Optimierung, Sortiervorgï¿1⁄2nge, Graphentheorie, Textanalyse, Hashfunktionen. Zu jedem Algorithmus werden jeweils Hintergrundwissen und praktische Grundlagen vermittelt sowie Beispiele fï¿1⁄2r aktuelle Anwendungen gegeben. Fï¿1⁄2r interessierte Leser gibt es Umsetzungen in Python, sodass die Algorithmen auch verï¿1⁄2ndert und die Auswirkungen der Verï¿1⁄2nderungen beobachtet werden kï¿1⁄2nnen. Dieses Buch richtet sich an Menschen, die an Algorithmen interessiert sind, ohne eine Doktorarbeit zu dem Thema schreiben zu wollen. Wer es gelesen hat, versteht, wie wichtige Algorithmen arbeiten und wie man von dieser Arbeit beispielsweise bei der Entwicklung von Unternehmensstrategien profitieren kann.
Algorithms

Algorithmen in C++

Author: Robert Sedgewick

Publisher: N.A

ISBN: 9783827370266

Category: Algorithms

Page: 748

View: 5828

Computers

Python Algorithms

Mastering Basic Algorithms in the Python Language

Author: Magnus Lie Hetland

Publisher: Apress

ISBN: 1484200551

Category: Computers

Page: 320

View: 1813

Python Algorithms, Second Edition explains the Python approach to algorithm analysis and design. Written by Magnus Lie Hetland, author of Beginning Python, this book is sharply focused on classical algorithms, but it also gives a solid understanding of fundamental algorithmic problem-solving techniques. The book deals with some of the most important and challenging areas of programming and computer science in a highly readable manner. It covers both algorithmic theory and programming practice, demonstrating how theory is reflected in real Python programs. Well-known algorithms and data structures that are built into the Python language are explained, and the user is shown how to implement and evaluate others.
Computers

Python von Kopf bis Fuß

Author: Paul Barry

Publisher: O'Reilly Germany

ISBN: 3955619427

Category: Computers

Page: 496

View: 1542

Haben Sie sich schon einmal gewünscht, Sie könnten Python mithilfe eines Buchs lernen? Mit Python von Kopf bis Fuß funktioniert das hervorragend, weil es auf einzigartige Weise über die Syntax und schlichtes Mach-dies-mach-jenes hinausgeht. Die Grundlagen erfassen Sie hier schnell, und dann es geht auch schon weiter mit Persistenz, Ausnahmebehandlung, Webentwicklung, SQLite, Datenverarbeitung und Googles App Engine. Sie lernen außerdem, wie Sie dank Pythons unglaublicher Möglichkeiten mobile Apps für Android-Smartphones schreiben. Nach dem Lernerlebnis von Python von Kopf bis Fuß können Sie Ihrer weiteren Python-Laufbahn ganz zuversichtlich entgegensehen!
Computers

Python kinderleicht!

Einfach programmieren lernen – nicht nur für Kids

Author: Jason Briggs

Publisher: dpunkt.verlag

ISBN: 3864919053

Category: Computers

Page: 326

View: 2106

Python ist eine leistungsfähige, moderne Programmiersprache. Sie ist einfach zu erlernen und macht Spaß in der Anwendung – mit diesem Buch umso mehr! »Python kinderleicht" macht die Sprache lebendig und zeigt Dir (und Deinen Eltern) die Welt der Programmierung. Jason R. Briggs führt Dich Schritt für Schritt durch die Grundlagen von Python. Du experimentierst mit einzigartigen (und oft urkomischen) Beispielprogrammen, bei denen es um gefräßige Monster, Geheimagenten oder diebische Raben geht. Neue Begriffe werden erklärt, der Programmcode ist farbig dargestellt, strukturiert und mit Erklärungen versehen. Witzige Abbildungen erhöhen den Lernspaß. Jedes Kapitel endet mit Programmier-Rätseln, an denen Du das Gelernte üben und Dein Verständnis vertiefen kannst. Am Ende des Buches wirst Du zwei komplette Spiele programmiert haben: einen Klon des berühmten »Pong" und »Herr Strichmann rennt zum Ausgang" – ein Plattformspiel mit Sprüngen, Animation und vielem mehr. Indem Du Seite für Seite neue Programmierabenteuer bestehst, wirst Du immer mehr zum erfahrenen Python-Programmierer. - Du lernst grundlegende Datenstrukturen wie Listen, Tupel und Maps kennen. - Du erfährst, wie man mit Funktionen und Modulen den Programmcode organisieren und wiederverwenden kann. - Du wirst mit Kontrollstrukturen wie Schleifen und bedingten Anweisungen vertraut und lernst, mit Objekten und Methoden umzugehen. - Du zeichnest Formen mit dem Python-Modul Turtle und erstellst Spiele, Animationen und andere grafische Wunder mit tkinter. Und: »Python kinderleicht" macht auch für Erwachsene das Programmierenlernen zum Kinderspiel! Alle Programme findest Du auch zum Herunterladen auf der Website!
Computers

Hello World!

Programmieren für Kids und andere Anfänger

Author: Warren Sande,Carter Sande

Publisher: Carl Hanser Verlag GmbH Co KG

ISBN: 3446438149

Category: Computers

Page: 501

View: 6686

HELLO WORLD// - Alle Erklärungen der Konzepte in einfacher Sprache - Sehr viele Bilder, Cartoons und lustige Beispiele - Umfassende Fragen und Aufgaben zum Üben und Lernen - Farbig illustriert In diesem Buch lernst Du, mit dem Computer in seiner Sprache zu sprechen. Willst du ein Spiel erfinden? Eine Firma gründen? Ein wichtiges Problem lösen? Als ersten Schritt lernst Du, eigene Programme zu schreiben. Programmieren ist eine tolle Herausforderung, und dieses Buch macht Dir den Einstieg leicht. Diese neue Ausgabe von Hello World! zeigt Dir in einfacher und ansprechender Weise die Welt der Computerprogrammierung. Warren Sande hat es gemeinsam mit seinem Sohn Carter geschrieben, und sie haben sich auch viele lustige Beispiele ausgedacht, mit denen Du prima lernen kannst. Das Buch wurde von Pädagogen überarbeitet und eignet sich für Kinder genauso wie für ihre Eltern. Du brauchst keine Programmierkenntnisse mitzubringen, sondern nur zu wissen, wie man einen Computer bedient. Wenn Du ein Programm starten und eine Datei speichern kannst, reicht das schon! Hello World! arbeitet mit Python. Diese Programmiersprache ist besonders leicht zu erlernen. Mit den humorvollen Beispielen lernst Du die Grundlagen des Programmierens kennen, wie z.B. Schleifen, Entscheidungen, Eingaben und Ausgaben, Datenstrukturen, Grafiken und vieles mehr. AUS DEM INHALT // Speicher und Variablen // Datentypen // GUIs – Grafische Benutzeroberflächen // Immer diese Entscheidungen // Schleifen // Nur für dich – Kommentare // Geschachtelte und variable Schleifen // Listen und Wörterbücher // Funktionen // Objekte // Module // Sprites und Kollisionserkennung // Ereignisse // Sound // Ausgabeformatierung und Strings // Das Zufallsprinzip // Computersimulationen
Computers

Pascal-Benutzerhandbuch

Author: Kathleen Jensen,Niklaus Wirth

Publisher: Springer-Verlag

ISBN: 3642972195

Category: Computers

Page: 243

View: 7471

Pascal ist heute eine der meistverbreiteten Programmiersprachen der Welt und längst auf nahezu allen Computersystemen verfügbar, auf Personal Computern ebenso wie auf professionellen Systemen. Die englische Ausgabe dieses Lehr- und Handbuches hat sich seit gut 15 Jahren als Standardwerk für Studenten und Programmierer bewährt, die Pascal lernen und benutzen wollen. Pascal wird an den meisten Universitäten als erste Programmiersprache in der Lehre eingesetzt. Ideal geeignet, die Grundidee des strukturierten Programmierens zu vermitteln, ist Pascal als eine Alternative zu PL/1 oder ALGOL 60 entstanden, und sogar FORTRAN wurde verändert, um einige der Vorteile von Pascal zu nutzen. Auch die Einführung von Modula-2 hat die Beliebtheit von Pascal als imperativer Programmiersprache nicht vermindert. In der dritten Auflage, die hier in deutscher Übersetzung vorliegt, wurden Weiterentwicklungen der Sprachnorm berücksichtigt und der Stil der Programme verbessert. Neben dem eigentlichen Benutzerhandbuch, das als einführendes Lehrbuch konzipiert ist, enthält das Buch die verbindliche Sprachdefinition in der übersichtlichen Form eines Sprachberichts.
Computers

Hands-On Data Structures and Algorithms with Python

Write complex and powerful code using the latest features of Python 3.7, 2nd Edition

Author: Dr. Basant Agarwal

Publisher: Packt Publishing Ltd

ISBN: 1788991931

Category: Computers

Page: 398

View: 1817

Learn to implement complex data structures and algorithms using Python Key Features Understand the analysis and design of fundamental Python data structures Explore advanced Python concepts such as Big O notation and dynamic programming Learn functional and reactive implementations of traditional data structures Book Description Data structures allow you to store and organize data efficiently. They are critical to any problem, provide a complete solution, and act like reusable code. Hands-On Data Structures and Algorithms with Python teaches you the essential Python data structures and the most common algorithms for building easy and maintainable applications. This book helps you to understand the power of linked lists, double linked lists, and circular linked lists. You will learn to create complex data structures, such as graphs, stacks, and queues. As you make your way through the chapters, you will explore the application of binary searches and binary search trees, along with learning common techniques and structures used in tasks such as preprocessing, modeling, and transforming data. In the concluding chapters, you will get to grips with organizing your code in a manageable, consistent, and extendable way. You will also study how to bubble sort, selection sort, insertion sort, and merge sort algorithms in detail. By the end of the book, you will have learned how to build components that are easy to understand, debug, and use in different applications. You will get insights into Python implementation of all the important and relevant algorithms. What you will learn Understand object representation, attribute binding, and data encapsulation Gain a solid understanding of Python data structures using algorithms Study algorithms using examples with pictorial representation Learn complex algorithms through easy explanation, implementing Python Build sophisticated and efficient data applications in Python Understand common programming algorithms used in Python data science Write efficient and robust code in Python 3.7 Who this book is for This book is for developers who want to learn data structures and algorithms in Python to write complex and flexible programs. Basic Python programming knowledge is expected.
Computers

Introduction to Computation and Programming Using Python

With Application to Understanding Data

Author: John V. Guttag

Publisher: MIT Press

ISBN: 0262529629

Category: Computers

Page: 472

View: 4735

The new edition of an introductory text that teaches students the art of computational problem solving, covering topics ranging from simple algorithms to information visualization.
Computers

Statistik-Workshop für Programmierer

Author: Allen B. Downey

Publisher: O'Reilly Germany

ISBN: 3868993436

Category: Computers

Page: 160

View: 5689

Wenn Sie programmieren können, beherrschen Sie bereits Techniken, um aus Daten Wissen zu extrahieren. Diese kompakte Einführung in die Statistik zeigt Ihnen, wie Sie rechnergestützt, anstatt auf mathematischem Weg Datenanalysen mit Python durchführen können. Praktischer Programmier-Workshop statt grauer Theorie: Das Buch führt Sie anhand eines durchgängigen Fallbeispiels durch eine vollständige Datenanalyse -- von der Datensammlung über die Berechnung statistischer Kennwerte und Identifikation von Mustern bis hin zum Testen statistischer Hypothesen. Gleichzeitig werden Sie mit statistischen Verteilungen, den Regeln der Wahrscheinlichkeitsrechnung, Visualisierungsmöglichkeiten und vielen anderen Arbeitstechniken und Konzepten vertraut gemacht. Statistik-Konzepte zum Ausprobieren: Entwickeln Sie über das Schreiben und Testen von Code ein Verständnis für die Grundlagen von Wahrscheinlichkeitsrechnung und Statistik: Überprüfen Sie das Verhalten statistischer Merkmale durch Zufallsexperimente, zum Beispiel indem Sie Stichproben aus unterschiedlichen Verteilungen ziehen. Nutzen Sie Simulationen, um Konzepte zu verstehen, die auf mathematischem Weg nur schwer zugänglich sind. Lernen Sie etwas über Themen, die in Einführungen üblicherweise nicht vermittelt werden, beispielsweise über die Bayessche Schätzung. Nutzen Sie Python zur Bereinigung und Aufbereitung von Rohdaten aus nahezu beliebigen Quellen. Beantworten Sie mit den Mitteln der Inferenzstatistik Fragestellungen zu realen Daten.
Computers

Introduction to Programming and Problem-Solving Using Scala, Second Edition

Author: Mark C. Lewis,Lisa Lacher

Publisher: CRC Press

ISBN: 1498730973

Category: Computers

Page: 590

View: 7410

Praise for the first edition: "The well-written, comprehensive book...[is] aiming to become a de facto reference for the language and its features and capabilities. The pace is appropriate for beginners; programming concepts are introduced progressively through a range of examples and then used as tools for building applications in various domains, including sophisticated data structures and algorithms...Highly recommended. Students of all levels, faculty, and professionals/practitioners.? —D. Papamichail, University of Miami in CHOICE Magazine ? Mark Lewis’?Introduction to the Art of Programming Using Scala?was the first textbook to use Scala for introductory CS courses. Fully revised and expanded, the new edition of this popular text has been divided into two books. Introduction to Programming and Problem-Solving Using Scala is designed to be used in first semester college classrooms to teach students beginning programming with Scala. The book focuses on the key topics students need to know in an introductory course, while also highlighting the features that make Scala a great programming language to learn. The book is filled with end-of-chapter projects and exercises, and the authors have also posted a number of different supplements on the book website. Video lectures for each chapter in the book are also available on YouTube. The videos show construction of code from the ground up and this type of "live coding" is invaluable for learning to program, as it allows students into the mind of a more experienced programmer, where they can see the thought processes associated with the development of the code. About the Authors Mark Lewis is a Professor at Trinity University. He teaches a number of different courses, spanning from first semester introductory courses to advanced seminars. His research interests included simulations and modeling, programming languages, and numerical modeling of rings around planets with nearby moons.? Lisa Lacher is an Assistant Professor at the University of Houston, Clear Lake with over 25 years of professional software development experience. She teaches a number of different courses spanning from first semester introductory courses to graduate level courses. Her research interests include Computer Science Education, Agile Software Development, Human Computer Interaction and Usability Engineering, as well as Measurement and Empirical Software Engineering.