叶华看向了他们几个,不一会儿,柳玲双便道:“还得考虑计算机所占用的空间。”
“回答完全正确。”
黑客少女被表扬的暗喜,计算机可是本女侠的拿手好戏。
叶华对她投去了一个表扬的目光,算是奖励了,然后说道:“空间问题就放一边,我们今天讲时间问题,举个例子……”
再也没有什么比经典的“举个栗子”容易理解了。
“一道题,现在我给你出n个数,要求选出其中最大的一个数,需要多少步?谁知道?”
话音刚落,最小的宁杰便飞速应答:“n-1步。”
“回答正确!”
叶华点点头,数学小天才宁杰这么快答出来是在他的意料之中,调出浮空屏幕罗列一串数字:“方法其实很简单,先比较前两个,取其中最大的数与第三个数进行比较,然后取其中最大的数再与第四个比较,以此类推,取n个数就比较n-1次。”
“第二道题,还是给出n个数,但这道题是要求把n个数从大到小依次排序,那又需要多少步呢?”
宁杰再次不假思索的道:“需要n(n-1)/2步。”
叶华再次点头:“回答正确。宁杰同学你可以和其他的同学介绍一下计算的过程么?”
宁杰立马回答:“用刚才的办法先选出最大数需要用到n-1步,然后选出剩下的所有数中最大的数用n-2步,类推下去就是(n-1)+(n-2)+(n-3)+……一直加到最后的答案就是n(n-1)/2。”
柳玲双一看很快就看明白了,这不就是计算机编程里面的“冒泡法”嘛,黑客少女自然一看就懂,其实这些都是简单问题,在场的八个学生都能快速理解。
叶华接着讲道:“显然,随着n的增加,排序问题的难度就比之前选最大数的难度高了。n-1当这个n很大的时候,