Dataford
Interview QuestionsInterview GuidesExperiencesCoaching
New
Pricing
Get started
Dataford
Popular roles
Software EngineerData AnalystData ScientistData EngineerBusiness AnalystAI EngineerMachine Learning EngineerProduct Manager
Browse
Browse All RolesEvery role hub, from analyst to MLBrowse All CompaniesCompany-specific interview loopsAll Interview GuidesThe full guide library
Top questions by role
Software EngineerData AnalystData ScientistData EngineerBusiness AnalystAI EngineerMachine Learning EngineerProduct Manager
Top questions by skill
SQLPythonStatisticsMachine LearningA/B TestingSystem DesignGenerative AIProduct SenseMetricsBehavioral
Browse all questions →Try a mock interview
Experiences
Practice
Mock InterviewsTimed interview simulations with feedbackCoaching1:1 coaching with people at your target companiesSuccess PathYour 6-week structured planModulesCurated lessons by topicWebinarsTalks from ex-Big Tech data leadsPlaygroundA free-form scratch editor
Learn
BlogInterview strategy and career adviceTech Job Market ReportHiring trends across data and AI rolesFor UniversitiesDataford for career centersAbout DatafordWho we are and how we build
Pricing
Build my plan
Bucket Sort Algorithm
00:00
5 left

Bucket Sort Algorithm

MediumPython

Problem

A TCS BaNCS analytics component receives integer event scores that must be sorted without calling Python's built-in sorting functions. Implement stable bucket sort by distributing values into range-based buckets, sorting each bucket, and concatenating the results.

Formal Specification

Implement bucket_sort(nums, bucket_count). The input nums is a list of integers, and bucket_count is a positive integer specifying the number of buckets. Return a new list containing all values in nondecreasing order. Do not mutate nums, and do not use sort(), sorted(), or another comparison-sorting library. Equal values must retain their original relative order, although this property is not observable when values are plain integers.

Use the minimum and maximum values to map each integer to a bucket. Sort every bucket with insertion sort, then concatenate the buckets from left to right. Explain why bucket sort is expected to be efficient for approximately uniform input, and identify its worst-case complexity when many values land in one bucket.

Constraints

  • 0 <= len(nums) <= 10^5
  • 1 <= bucket_count <= 10^4
  • -10^9 <= nums[i] <= 10^9
  • The input may contain duplicates and negative values
  • Built-in sorting functions are not allowed
  • The input list must not be mutated

Function Signature

def bucket_sort(nums, bucket_count):
Interviewer

Your question is Bucket Sort Algorithm. Start with the requirements in the Question tab.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.
CodePython 3
Sign up free to run your codeLog inLn 2
Run your code to see test output here.