Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Hands-On Data Structures and Algorithms with Python – Third Edition

You're reading from   Hands-On Data Structures and Algorithms with Python – Third Edition Store, manipulate, and access data effectively and boost the performance of your applications

Arrow left icon
Product type Paperback
Published in Jul 2022
Publisher Packt
ISBN-13 9781801073448
Length 496 pages
Edition 3rd Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Dr. Basant Agarwal Dr. Basant Agarwal
Author Profile Icon Dr. Basant Agarwal
Dr. Basant Agarwal
Arrow right icon
View More author details
Toc

Table of Contents (17) Chapters Close

Preface 1. Python Data Types and Structures FREE CHAPTER 2. Introduction to Algorithm Design 3. Algorithm Design Techniques and Strategies 4. Linked Lists 5. Stacks and Queues 6. Trees 7. Heaps and Priority Queues 8. Hash Tables 9. Graphs and Algorithms 10. Searching 11. Sorting 12. Selection Algorithms 13. String Matching Algorithms 14. Other Books You May Enjoy
15. Index
Appendix: Answers to the Questions

Chapter 12: Selection Algorithm

Question 1

What will be the output if the quickselect algorithm is applied to the given array arr=[3, 1, 10, 4, 6, 5] with k given as 2?

Solution

  1. Given the initial array: [3, 1, 10, 4, 6, 5], we can find the median of medians: 4 (index = 3).
  2. We swap the pivot element with the first element: [4, 1, 3, 10, 6, 5].
  3. We will move the pivot element to its correct position: [1, 3, 4, 10, 6, 5].
  4. Now we get a split index equal to 2 but the value of k is also equal to 2, hence the value at index 2 will be our output. Hence the output will be 4.

Question 2

Can quickselect find the smallest element in an array with duplicate values?

Solution

Yes, it works. By the end of every iteration, we have all elements less than the current pivot stored to the left of the pivot. Let’s consider when all elements are the same. In this case, every iteration ends up putting a pivot element to the left of the array...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime