相信大家对计算机都并不陌生,对编程也有自己的了解。现今各类计算机语言历经了多年发展逐步成熟起来。大家耳熟能详的JAVA,Python,Android等等。在大数据的时代,这些计算机语言着实为我们带来的便利,从统计大型数据到各类软件开发,到处都是它们的影子。也许我们从未想过这些语言会存在一些bugs.也确实是这样,而今天Bonsangue教授就分享了他的一些研究以及发现问题并解决问题的经历。
这次讲座,Bonsangue教授先简单的介绍了他所在的莱顿大学,这是一所涌现出过很多杰出人物的大学,他也展示了不少校园的图片,包括他的办公室的外景。
紧接着就开始进入正题,谈到了计算机科学。讲座主题是Android,JAVA,Python libraries are broken......but they can be fixed.(这三种计算机语言会出现问题,但是能修复的) 教授主要讲解了一种Timsort的处理,这是一种结合了insertion sort 和merge sort的方法,简单理解就是插入和合并分类的方法。
教授用一个数组排序的简单例子来说明这种方法。insertion sort 就是对一列数组,从第一个开始依次和前一个数比较大小,小于则排前面,大于则排后面,对每一个数进行这样的操作。而merge sort 就是先分组在进行排序。这两种方式都会浪费较多的时间或空间,而Timsort 先按顺序合理的分组,再对每一组进行排序,这就是优于其他语言的地方。
这次讲座时间不长,教授和同学交流的时间很长。虽然教授是全英文讲授,也带有一点意大利的口音,不过还是有很多同学积极参与了提问,从计算机到AI,从自己的设想到对具体讲座的问题,既锻炼了自己的口语和听力,也获得了一些解答。
领取专属 10元无门槛券
私享最新 技术干货