Beginning Algorithms

Β·
Β· αž›αž€αŸ‹β€‹β€‹αžŠαŸ„αž™ John Wiley & Sons
4.0
αž€αžΆαžšαžœαžΆαž™αžαž˜αŸ’αž›αŸƒ 2
αžŸαŸ€αžœαž—αŸ…β€‹αž’αŸαž‘αž·αž…αžαŸ’αžšαžΌαž“αž·αž…
592
αž‘αŸ†αž–αŸαžš

αž’αŸ†αž–αžΈαžŸαŸ€αžœαž—αŸ…β€‹αž’αŸαž‘αž·αž…αžαŸ’αžšαžΌαž“αž·αž€αž“αŸαŸ‡

Beginning Algorithms

A good understanding of algorithms, and the knowledge of when to apply them, is crucial to producing software that not only works correctly, but also performs efficiently. This is the only book to impart all this essential information-from the basics of algorithms, data structures, and performance characteristics to the specific algorithms used in development and programming tasks.

Packed with detailed explanations and instructive examples, the book begins by offering you some fundamental data structures and then goes on to explain various sorting algorithms. You'll then learn efficient practices for storing and searching by way of hashing, trees, sets, and maps. The authors also share tips on optimization techniques and ways to avoid common performance pitfalls. In the end, you'll be prepared to build the algorithms and data structures most commonly encountered in day-to-day software development.

What you will learn from this book

  • The basics of algorithms, such as iteration and recursion
  • Elementary data structures such as lists, stacks, and queues
  • Basic and advanced sorting algorithms including insertion sort, quicksort, and shell sort
  • Advanced data structures such as binary trees, ternary trees, and heaps
  • Algorithms for string searching, string matching, hashing, and computational geometry
  • How to use test-driven development techniques to ensure your code works as intended
  • How to dramatically improve the performance of your code with hands-on techniques for profiling and optimization

Who this book is for

This book is for anyone who develops applications, or is just beginning to do so, and is looking to understand algorithms and data structures. An understanding of computer programming is beneficial.

Wrox Beginning guides are crafted to make learning programming languages and technologies easier than you think, providing a structured, tutorial format that will guide you through all the techniques involved.

αžŸαŸ’αžœαŸ‚αž„αžšαž€β€‹αž…αŸ’αžšαžΎαž“αž‘αŸ€αž

αž€αžΆαžšαžŠαžΆαž€αŸ‹αž•αŸ’αž€αžΆαž™ αž“αž·αž„αž˜αžαž·αžœαžΆαž™αžαž˜αŸ’αž›αŸƒ

4.0
αž€αžΆαžšαžœαžΆαž™αžαž˜αŸ’αž›αŸƒ 2

αž’αŸ†αž–αžΈβ€‹αž’αŸ’αž“αž€αž“αž·αž–αž“αŸ’αž’

Simon Harris started writing animated sprites on a Commodore 64 in primary school. After a break of many years, he taught himself 80x86 and IBM System/370 assembler and started working professionally. Since then he has moved from assembler to C, C++, and, of course, Java. He believes a fundamental understanding and appreciation of algorithms is essential to developing good software; and since starting his own company, RedHill Consulting, he has managed to make a living discussing and demonstrating software development practices and techniques to anyone who will listen.

In his more than 15 years of development experience, James Ross has ranged from building packaged products to large enterprise systems to research into compilers and languages. In recent years, he has become a code quality fanatic and agile methods specialist, particularly with test-driven development. He works as a consultant for ThoughtWorks, the world’s leading agile software development company. He is currently leading the development of a large J2EE project in the insurance industry in Melbourne, Australia. He lives with his wife and family in Melbourne.

αžœαžΆαž™αžαž˜αŸ’αž›αŸƒαžŸαŸ€αžœαž—αŸ…β€‹αž’αŸαž‘αž·αž…αžαŸ’αžšαžΌαž“αž·αž€αž“αŸαŸ‡

αž”αŸ’αžšαžΆαž”αŸ‹αž™αžΎαž„αž’αŸ†αž–αžΈαž€αžΆαžšαž™αž›αŸ‹αžƒαžΎαž‰αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

αž’αžΆαž“β€‹αž–αŸαžαŸŒαž˜αžΆαž“

αž‘αžΌαžšαžŸαž–αŸ’αž‘αž†αŸ’αž›αžΆαžαžœαŸƒ αž“αž·αž„β€‹αžαŸαž”αŸ’αž›αŸαž
αžŠαŸ†αž‘αžΎαž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Google Play Books αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Android αž“αž·αž„ iPad/iPhone αŸ” αžœαžΆβ€‹αž’αŸ’αžœαžΎαžŸαž˜αž€αžΆαž›αž€αž˜αŸ’αž˜β€‹αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž‡αžΆαž˜αž½αž™β€‹αž‚αžŽαž“αžΈβ€‹αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€β€‹ αž“αž·αž„β€‹αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™β€‹αž’αŸ’αž“αž€αž’αžΆαž“αž–αŸαž›β€‹αž˜αžΆαž“αž’αŸŠαžΈαž“αž’αžΊαžŽαž·αž αž¬αž‚αŸ’αž˜αžΆαž“β€‹αž’αŸŠαžΈαž“αž’αžΊαžŽαž·αžβ€‹αž“αŸ…αž‚αŸ’αžšαž”αŸ‹αž‘αžΈαž€αž“αŸ’αž›αŸ‚αž„αŸ”
αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšβ€‹αž™αž½αžšαžŠαŸƒ αž“αž·αž„αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžš
αž’αŸ’αž“αž€αž’αžΆαž…αžŸαŸ’αžŠαžΆαž”αŸ‹αžŸαŸ€αžœαž—αŸ…αž‡αžΆαžŸαŸ†αž‘αŸαž„αžŠαŸ‚αž›αž”αžΆαž“αž‘αž·αž‰αž“αŸ…αž€αŸ’αž“αž»αž„ Google Play αžŠαŸ„αž™αž”αŸ’αžšαžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž»αž€αžšαž€αžαžΆαž˜αž’αŸŠαžΈαž“αž’αžΊαžŽαž·αžαž€αŸ’αž“αž»αž„αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”
eReaders αž“αž·αž„β€‹αž§αž”αž€αžšαžŽαŸβ€‹αž•αŸ’αžŸαŸαž„β€‹αž‘αŸ€αž
αžŠαžΎαž˜αŸ’αž”αžΈαž’αžΆαž“αž“αŸ…αž›αžΎβ€‹αž§αž”αž€αžšαžŽαŸ e-ink αžŠαžΌαž…αž‡αžΆβ€‹αž§αž”αž€αžšαžŽαŸαž’αžΆαž“β€‹αžŸαŸ€αžœαž—αŸ…αž’αŸαž‘αž·αž…αžαŸ’αžšαžΌαž“αž·αž€ Kobo αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœβ€‹αž‘αžΆαž‰αž™αž€β€‹αž―αž€αžŸαžΆαžš αž αžΎαž™β€‹αž•αŸ’αž‘αŸαžšαžœαžΆαž‘αŸ…β€‹αž§αž”αž€αžšαžŽαŸβ€‹αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αžŸαžΌαž˜αž’αž“αž»αžœαžαŸ’αžαžαžΆαž˜β€‹αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž›αž˜αŸ’αž’αž·αžαžšαž”αžŸαŸ‹αž˜αž‡αŸ’αžˆαž˜αžŽαŸ’αžŒαž›αž‡αŸ†αž“αž½αž™ αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‘αŸαžšαž―αž€αžŸαžΆαžšβ€‹αž‘αŸ…αž§αž”αž€αžšαžŽαŸαž’αžΆαž“αžŸαŸ€αžœαž—αŸ…β€‹αž’αŸαž‘αž·αž…αžαŸ’αžšαžΌαž“αž·αž€αžŠαŸ‚αž›αžŸαŸ’αž‚αžΆαž›αŸ‹αŸ”