More than code

More Than Code
The efficiency of your iteration of reading, practicing and thinking decides your understanding of the world.
  1. 首页
  2. ARTS
  3. 正文

ARTS 第二周打卡

2021年5月18日 548点热度 0人点赞 0条评论

ARTS 第二周打卡

算法:

leetcode周赛的最后一题

链接

赛场上没写出来,脱离算法竞赛已经有两年半了,中间自己零零散散的打过几次codeforces,看起来现在做思维题已经是不太在行了

应该给自己一点时间去补一补codeforces的题,稍微训练训练思维能力,否则leetcode周赛不能稳定四题的话,还是比较对不起以前的水平的

这次就是在思维上出了差错,虽然想到了是一根一根的放,但是由于没有考虑到放的顺序,当时我认为是从小的开始放,但是问题就变得复杂了很多

正解是从大的先放,这样换一个角度,问题就会简单很多

技术文章的话自己在上周也都有写,可以看我的博客

博客

分享的话,正好今天我看到了一个面试题,说是问红黑树和B+树有什么区别,为什么map用红黑树而不是B+树

而且B树是不需要旋转的平衡树,看这篇文章讲解的比较清楚

B树用于外部排序,就是数据量较大的情况下,储存在文件中的排序

而红黑树则是储存在内存中,用于内部的排序,所以说应该是使用的数据量,场景不同

对于review的话,我最近看到几篇文章,他们有提出这样一个观点,说编译原理是CS生涯中比较重要的一个课程,学会做一个编译器可以对编程语言的理解提升

我个人目前来说并不是很赞同这个观点,我认为做出一个编译器确实可以练习自己的编程能力,毕竟一个好的编译器就是一个大的软件工程,这个观点在编译器设计这本书中就有提到

但是我不认为写出这个编译器就可以提升自己对编程语言的理解,比如我曾经写过的一个lisp解释器,写完后我并不认为我对lisp的理解有多么的深入

我认为自己对于编程语言的理解,在于我们是如果使用这个工具的,我认为提升自己对于编程语言的理解的方法有:阅读其他人,阅读高手写的代码,看高手是怎么运用这个工具的,看看别人的理解

还有就是语言设计者的讲述,比如书C++语言的设计与演化中,清楚的讲到了C++的用意,设计理念,这些对我理解C++有很大的帮助

标签: c++
最后更新:2021年5月18日

sheep

think again

点赞
< 上一篇
下一篇 >

文章评论

取消回复

COPYRIGHT © 2021 heavensheep.xyz. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS