LeetCode链表与二叉树模板总结
链表和二叉树是非常经典的数据结构,许多算法都是基于这两个数据结构之上的。最近刷了不少LeetCode上面相关的题目,发现这两种数据结构由于没有适当的输出函数或是表示形式,难以在本地进行调试,因此就想写一个关于链表与二叉树的相关模板。
模板基于LeetCode上的结构体定义,使用C++语言编写,支持链表和二叉树的创建与输出。
链表和二叉树是非常经典的数据结构,许多算法都是基于这两个数据结构之上的。最近刷了不少LeetCode上面相关的题目,发现这两种数据结构由于没有适当的输出函数或是表示形式,难以在本地进行调试,因此就想写一个关于链表与二叉树的相关模板。
模板基于LeetCode上的结构体定义,使用C++语言编写,支持链表和二叉树的创建与输出。
VNote是一款专为Markdown设计的Vim风格笔记应用程序。目前使用已经两年多了,平时用来记录、摘抄都挺方便的。略有不方便的地方就是VNote不能方便地运行一些外部工具,例如:
在本文中,我将为VNote设计实现一个任务系统来运行外部工具,从而解决上面这些问题。
最近参加了两场面试,也是挺有感触的。分享一篇与面试相关的文章,里面很多内容即使十年过去了也丝毫不过时,甚至每次读过都有新的感悟。例如里面提到了关于大作业的部分:
一想到作业是要作为简历的一部分的,能不紧张嘛。能不好好做嘛。能不学到点东西嘛?
我在写数据结构大作业的时候就干过这事,把一个2学分的课程大作业当作一个大项目来完成,提交了800多次commits,给软件加上版本号,发布了Windows、MacOS以及Ubuntu三个系统的软件包,加上持续构建脚本……
Joel Spolsky曾经感叹:招聘难,难于上青天(此处笔者稍加演绎:))。他有两个辛辣但不乏洞察力的断言:真正的牛人也许一辈子就投大概4次简历,这些家伙一毕业就被好公司抢走了,并且他们的雇主会给他们不赖的待遇,所以他们也不想挪窝。(刚刚去世的Dennis Ritchie就是这样一个人)而“人才”市场上能找到的大多都不是什么人才。招到这帮人轻则费钱重则把你公司搞挂。
斐波那契数列是从0,1开始,后面每一项都是由前面两项相加得到。开头几项是0、1、1、2、3、5、8、13……。在OEIS中是A000045数列。需要注意的是斐波那契数列的第零项是0,第一项是1。本文将探讨总结斐波那契数列的相关问题。
递归定义如下:
第一次作为出题人参与一场算法竞赛,感受还是很不同的。相比与参赛者,少了一些紧张刺激新鲜感,当然也少了一些自闭。
比赛在SCUT CODE上举行,总体而言这个系统做的还是挺不错的,响应迅速,功能齐全。唯一要吐槽的就是题目竟然只能添加不能删除!添加比赛需要一些玄之又玄的操作。还有Special Judge也是非常难配置,还缺少了交互功能。第一场由于没有放特别简单的签到题导致大量选手爆0,导致第二场人数锐减。。。不过第二场比赛的题目最后经过调整还是简单了许多的。下面按难度总结一下这次比赛的题目,目前题目已经全部开放了,可以在题库中找到提交。
最近在找一些教材的PDF版本,有时候找到了PDF版本却没有目录,对于教材这种需要经常查阅的电子书来说,没有书签目录会导致效率大大降低。之前一直将就着用了,正好暑假小学期结束了,有一些空闲时间,这次我决定给PDF加上目录。
子序列:可以通过删除原序列中一些元素获得的序列。
子串:原序列中连续的一段。
子序列和子串的区别:子序列不需要连续,子串是连续的。如abcdef中acf是子序列,bcd是子串。显然子串都是子序列。
最近由于数据库课程的需要,做了一些数据库相关的实验,在此做一些总结与记录。
之前用数据库都是选择开源的MySQL或是轻便的SQLite,这次想尝试一下更强大的数据库产品。课程推荐使用的是Oracle Database或者SQL Server,目前市场上主流也是这两个数据库产品。其中占比更多的是Oracle的产品,但是简单对比了一下我还是选择了SQL Server,主要原因就是SQL Server提供中文的文档,对新手也比较友好。想详细了解一下可以参考:Oracle的文档和Microsoft的文档。
其实起这个标题还是有点尴尬的,毕竟这次的内容实在算不上什么“高级”,但这就是Web程序设计课程的第三次实验名称,还是按照实验名来发布了。由于Web实验均要求提交HTML文档(当然不可能是Markdown文档),因此就只在这里记录一个正文的链接,内容同样保存在博客内部,但不会在其他地方有链接。
这次实验虽然做的比较匆忙,但总体来说还是达到了我的预期:看着还行。其实仔细测试一下就会发现很多不完善的地方,例如将浏览器窗口缩小后,目录位置就错乱了。这主要是应为我使用了绝对定位。网页的内容大部分都是从平时的课件上照抄下来的,参考价值不是很大。这次只是想记录一下我制作HTML文档的成果。