Understand and implement classic data structures and algorithms using JavaScriptAbout This Book
- Learn how to use the most used data structures such as array, stack, list, tree, and graphs with real-world examples
- Get a grasp on which one is best between searching and sorting algorithms and learn how to implement them
- Follow through solutions for notable programming problems with step-by-step explanations
Who This Book Is For
If you are a JavaScript developer or someone who has basic knowledge of JavaScript, and want to explore its optimum ability, this fast-paced book is definitely for you. Programming logic is the only thing you need to know to start having fun with algorithms.
What You Will Learn
- Declare, initialize, add, and remove items from arrays, stacks, and queues
- Create and use the most complex data structure, graphs, along with DFS and BFS algorithms
- Grasp the power of linked lists, doubly linked lists, and circular linked lists
- Store unique elements with hash tables, dictionaries, and sets
- Explore the applications of binary trees and binary search trees
- Sort data structures using bubble sort, selection sort, insertion sort, merge sort, and quick sort
- Search elements in data structures using sequential sort and binary search
- Understand the importance of big O notation, dynamic programming, and greedy algorithms
In Detail
A data structure is a particular way of organizing data in a computer to utilize resources efficiently. Data structures and algorithms are the base of every solution to any programming problem.
This book begins by covering the basics of the JavaScript language and then moves on to discuss the most important data structures such as array, queue, stack, and linked list. You will also gain an in-depth knowledge of how hash tables and set data structure function. After this, you will be taught what trees are, and how to use the binary tree and the binary search tree.
In subsequent chapters, you will learn about graphs, DFS, and BFS. Finally, we will round off by learning how to differentiate between various searching and sorting algorithms such as sequential search, binary search, quick sort, bubble sort, and so on, and how to implement them. Towards the end of the book, you will also be introduced to dynamic programming.
Loiane Groner
Loiane Groner lives in Sao Paulo, Brazil and has over 9 years of software development experience. While at university, she demonstrated great interest in IT. She worked as a teaching assistant for 2 and a half years specializing in teaching algorithms, data structures, and computing theory. She represented her university at the ACM International Collegiate Programming Contest, Brazilian Finals (South America Regionals), and also worked as Student Delegate of SBC (Brazilian Computing Society) for 2 years. She won a merit award in her senior year for being one of the top three students with the best GPAs in the Computer Science department and also graduated with honors. She has already worked at multinational companies, such as IBM. Her areas of expertise include Java SE, Java EE, and also Sencha technologies (Ext JS and Sencha Touch). Nowadays, she is working as Software Development Manager at a financial institution, where she manages overseas solutions. She also works as an independent Sencha consultant and coach. She has also authored books such as ExtJS 4 First Look, Mastering JS and Sencha Architect App Development for Packt Publishing. She is passionate about Sencha and Java, and is the CampinasJUG (Campinas Java Users Group) leader and ESJUG (Espirito Santo Java Users Group) coordinator, both Brazilian JUGs. She also contributes to the software development community through her blogs: http://loianegroner.com(English) and http://loiane.com (Portuguese-BR), where she writes about IT careers, Ext JS, Sencha Touch, Phonegap, Spring Framework, and general development notes, and also publishes screencasts.