诗海

我们越谦卑,就离真理越近

0%

本文主要来介绍一种竞赛题中常见的数据结构:线段树(Segment Tree)。线段树可以在O(logN)的时间复杂度内实现单点修改/区间修改,区间查询(区间求和,求区间最大值,求区间最小值)等操作。

阅读全文 »

这篇文章的起因是我最近写Leetcode上的设计类题目比较多,因此对C++的 The Rule of Five 产生了兴趣,想以此来确定一个通用的代码模板,规范自己今后的所有自定义Class的书写。

阅读全文 »

最近使用C语言写MIT 6.S081课程的作业,发现自己对于C语言中的类似*&[]->符号的运算优先级和结合顺序问题理解并不清楚,这篇文章就是要彻底的理解这些个符号的运算优先级和代表的意义,保证以后凡是看到这样的符号,就都不会心里发慌。

阅读全文 »

最近做Leetcode题目总是遇到二分搜索的问题,本来觉得之前自己已经把这方面搞的很明白了,但是写起来还是各种别扭不痛快。问题主要集中于循环条件控制:是while(left <= right)还是while(left < right),左右边界的缩小:是left = mid + 1还是left = mid,中值的计算问题:是mid = left + (right - left) / 2还是mid = left + (right - left + 1) / 2。今天的这篇文章就想把这些问题都说清楚。

阅读全文 »

最近由于课程作业的缘故,使用Scala语言的次数较多。在Scala中,类型还是挺丰富的,其中有一种类型称为Obejct,可以说对应着Java中的单例模式,今天正好来详细说一下自己一直没有搞清楚的这个东西,同时也是面试中经常出现的一个知识点。

阅读全文 »

最近学习C/C++语言,又一次看到了const关键字。之前本科的时候这个地方就一直没有搞的很明白,这次我想专门写篇文章来帮助自己记忆。以下的内容参考《C++ Primer》(第五版)

阅读全文 »

入学EPFL也有一学期的时间了,自己也算是逐渐适应了国外的学习生活。说实话,对于在瑞士的CS学习,我是不太满意的。当然这也跟自己初来乍到没有确定好未来的路线规划有很大的关系。现在,至少这个问题已经逐步清晰起来了。下面我就想主要地回顾一下自己的心路历程,同时为接下来一段时间的自我学习指明道路。

阅读全文 »

计算机科学(Computer Science,以下简称CS)包罗万象,博大精深。由于是一门操作性极强且又极为复杂的学科,因此对新手并不友好。我个人从大学四年的专业学习上,只能说是积累了一点经验,打下了一点基础。我就在此谈一谈个人对于学习计算机科学的方法论,为接下来自己的自学提高指明一个方向。

阅读全文 »