It is nice to see connections between this course and other ones.
Let me add a few things.
Indeed, bucket search is enough if the spline knots are equidistant.
And I assume that, by “bucket search”, we mean the first placement of the array elements in buckets, and not the recursive call to it to eventually sort the elements.
This is because in the spline case, we only need to know which subinterval (bucket) each element (evaluation point) belongs.
I should also add that, in most realistic cases of using spline interpolation, the evaluation points (which are the array elements)
are already given in sorted form, and their number is quite larger than the number of knots.
In those cases, for each evaluation point (going in ascending order), one (or at most two) comparisons are enough to place it in the correct bucket (subinterval), even if the knots are not uniform.
Aside of this, the L(x) you defined above is a linear pp, but not a linear spline, as it is discontinuous.