萧然坐了下来,调出刘景的那套排序算法,阅读了一遍后,脸上满是不可思议之色。
“这套算法的设计思路好新奇、好巧妙啊!竟然没人想到过!”萧然赞叹地说道。
“嘿嘿!”刘景在一旁嘿嘿傻笑着,被萧然夸赞,他有些不好意思。
接着,萧然开始使用数学归纳法来推算这个算法的时间复杂度。
其实,不用计算也知道,只看一眼,他就能看出这个排序算法的时间复杂度为O(nlogn)。
这个级别的算法时间复杂度已经是最优的了。
众所周知的快速排序算法、归并排序算法和堆排序算法都是这个级别。
萧然现在要做的就是给出这个算法时间复杂度的证明,即,采用数学归纳法来证明这个排序算法的时间复杂度是O(nlogn)。
这个证明的过程对于萧然来说,实在简单不过了,不过片刻,整个证明过程就已经写好了。
他继续研究这个算法的稳定性,发现对于一组有多个重复数字的数组,经过排序后,这些重复数字的排序顺序并未发生改变,这说明这个排序算法是一个稳定的算法。
萧然似乎想起了什么,他不禁有些震惊激动的瞪大双眼,他紧张地快速拿过纸笔,激动地在草稿纸上快速书写着。
一旁的刘景疑惑地看着萧然的反应,一时间不清楚萧老师这是怎么了。
“哈哈,小景,你真是太棒了!”突然,萧然站起身来,哈哈大笑地拍着刘景的肩膀道。
“萧老师,您没事吧?”刘景被萧然的这一套反应搞得有些不知所措。
萧然稳了稳自己快速跳动的心脏,情绪慢慢变得平稳了一些,他严肃地道:“恭喜你,小景,你成功设计出了一套最优的排序算法,这下可不得了啦!”
经过近百年的发展,排序算法目前已经算是被研究的比较透彻的了,但是目前还没有一种算法能够同时满足以下四个条件:
1.平均时间复杂度为O(nlogn)级别。
2.排序过程中的所用额外空间为O(1)级别。
3.原地排序
4.稳定性
然而,刘景无意之中设计的这套排序算法,竟然完全满足这四个条件。
这意味着一种全新的排序算法即将面世,并在以后将会被无数人使用。
这也意味着,刘景的名字将会随着这套算法一起被写入计算机历史中。
萧然作为刘景的老师,也会因此而沾光,这对于萧然和刘景来说,都是一件无比荣耀的事情!
刘景一脸懵逼,完全不知道萧然说的是什么意思。
当萧然解释了一遍后,他这才知道,原来自己无意之中设计出了一套最优的排序算法啊!
刘景年龄还小,只是觉得自己设计了一个比较好的算法,似乎很牛逼的样子,但是到底有多牛逼,他根本就没有概念。
“小景,你安心开发自己的软件,这件事情你不用管,就交给老师吧!”萧然微笑地拍着刘景的肩膀道,“老师要去准备论文,就先走了!”
“好的,萧老师再见!”
从刘景那里出来,已经是晚上八点了,萧然依然兴奋地紧握拳头,思考着这篇论文应该要投哪家杂志。
“国内肯定是不行的,国内没有什么影响力较大的期刊杂志,发这上面去估计水花都没有一个。”萧然首先否定了国内的杂志期刊。
回到公寓,萧然打开电脑来搜索计算机领域最顶级的期刊杂志。
刘景的这套排序算法意义非凡,萧然可以想象得到,这个算法一但问世,那将会很快风靡全球,被所有的软件公司,计算机编程爱好者所追捧。
所以,选择投稿的期刊就尤为重要,必须是世界顶级期刊。
“世界计算机科学领域最顶级期刊JACM,就选这家啦!”经过一番对比之后,萧然当下一拍手,决定就投这家。
JACM全称Journal of the Association for Computing Machinery,该期刊只发表世界计算机科学领域具有最重要意义的研究论文,每年仅收录30多篇。
可见其审核之严谨,同时这也是SCI收录的核心期刊,影响因子极高。
选定投稿期刊后,萧然要做的就是写论文,翻译成英文版,然后投稿,等待审稿。
这篇论文比较简单,就是对一个最优排序算法的设计,计算推演它的时间和空间复杂度,并与其他类别的排序算法做比较。