Week 13 Day 1 – In-Place Quicksort
Week 13?! Yep, you read that right. Whatever happened to the 12 week program? Well, App Academy’s always improving their curriculum, and this is one of those improvements. Rather than cramming as much as they can in three weeks, they’ve extended the Job Search Curriculum by one week so that they can accommodate the job application materials lectures, as well as algorithms and data structures. It’s weird though, I’ve heard some of my cohort mates complaining about this aspect, this extra week, and additionally, the following weeks and days they expect you to come in to do job application work. I mean, you’re going to be paying for this resource, why aren’t you utilizing it to its fullest extent? Career coaches, motivating atmosphere, access to peers that you can collaborate with on projects, etc. Being at school and getting involved with all this seems to be, in general all that much better than not having that support system to begin with, I mean it’s why you applied to App Academy right?
Rant aside, I can understand their frustration at being obligated to come in, and thus having to stay close to SF which could be costly, but in the grand scheme of things, the more you invest your time into this, the more you’ll gain from it and therefore the better the return on your financial and time investment.
Moving on, yesterday, we studied Quicksort, and not just any quicksort, we implemented in-place quick sort which was a lot more complicated. While not any quicker in terms of time complexity, both the standard quicksort and in-place quicksort of O(n log n), the space complexity for in-place quicksort is actually constant space for the partitioning portion, and at most O(log n) for the recursive calls.
The hardest part about implementing was getting the lengths correct, and figuring out what needed to be passed into the next recursive call. Because it’s an in-place quicksort, knowing which sections of the array that needed to be altered means that you need to accurately pass in the starting index and the length.
I think that’s pretty much it for today, i’m getting sidetracked while writing this post, and I really just need to get back to work on today’s algorithms projects and job search stuff. I’ll go into applying tomorrow!