左耳听风 第九周

左耳听风 第九周

每周完成一个ARTS: 每周至少做一个 leetcode 的算法题、阅读并点评至少一篇英文技术文章、学习至少一个技术技巧、分享一篇有观点和思考的技术文章。(也就是 Algorithm、Review、Tip、Share 简称ARTS)

Algorithm

LeetCode 844. 比较含退格的字符串
LeetCode 148-排序链表

Review

how to learn a new programming language faste
如何学习一门新语言或框架
计算机的发展日新月异,新的语言多不胜数,前端的框架更是一周一小改,每周一大改,那我们该如何学习呢?作者提供了以下几点。

  1. 掌握语言,再学习框架。(框架很多,但是都是在语言的基础上发展的,掌握了基础就能很快适应新的技术)
  2. 挑战编程。在 LeetCode 等网站上刷题,一方面提高自己的编程能力,一方面也为面试做了准备。
  3. 使用 StackOverflow 解决自己的一些问题,并审查自己的代码加以优化。
  4. 看大量的代码。从经典的代码中学习代码的规范与好的编码习惯。例如 快排的三数中值法。
  5. 给编译器装一些插件,检查自己的语法错误并分析。
  6. 知识迁移,学会对比不同的语言的代码各自的特性,找出相同之处,提高自己的学习效率。
  7. 用代码实现一些东西。 在功能实现的同时找到编程语言的乐趣,给编程语言找到具体的应用场景。
  8. 不要放弃。编程的学习是一个漫长的过程,编程的学习是无法穷尽的,我们要做的就是在学习的过程中找到我们的乐趣。

Tip

本周使用了微软推出的 To Do 软件来管理我的每日任务,效果还不错。在每天的上午规划好自己一天大致要做的事情,对自己的日程进行管理,有利于提高自己的效率。
再用 Zine 记录自己的一些感想,这是我这周比较推荐的两个 App 都是多端同步的,可以体验一下。

share

这周重新复盘了一下自己的排序代码,同时看了一下 C 语言 stdlib 库中 qsort() 函数的源码 ,不过还没有完全理解,打算后面再参考下 C# 的 Sort() 方法源码。( ps : 使用 goto 语句是微软的习惯吗 ?)
简单分析 C 语言的 qsort() 源码


更多精彩内容