2014年2月4日

排序的空间复杂度和尾递归小记

摘要: 这篇博客起源于我对上篇博客图片所用图片中快速排序空间占用部分的怀疑。。今天搜索后,确实是图片有误。快速排序的空间复杂度最好情况下为O(logn),最坏情况下为O(n)。为什么?我们知道快速排序,归并排序都是靠递归实现。要想知道递归在操作系统中的实现,首先要知道函数调用在操作系统中如何实现:假设函数A调用函数B,我们称A函数为"调用者",B函数为“被调用者”则函数调用过程可以这么描述[1]:(1)先将调用者(A)的堆栈的基址(ebp)入栈,以保存之前任务的信息。(2)然后将调用者(A)的栈顶指针(esp)的值赋给ebp,作为新的基址(即被调用者B的栈底)。(3)然后在这个基址 阅读全文

posted @ 2014-02-04 12:35 Felix Fang 阅读(1776) 评论(0) 推荐(1) 编辑

导航