Loading...
去年12月第一次参加了CCF组织的CSP能力认证考试,不得不说没有受过专业程序设计训练的我参加这种考试时还是比较吃力的。下一次测试是在今年3月,而你拔CSP要求是260+,意味着这个寒假我得好好练习(各类骗分技巧)……下面对本次CSP第三题做一次小复盘:其实提供给出的BNF范式已经给了很大提示,只可惜尚未学习编译原理的我在场上很难静心琢磨了……下面给出大佬的逐步解析代码(实质上是LL语法分析...
压缩对于计算机应用是十分必要的,在学习完哈夫曼编码之后我们可以很轻松地根据哈夫曼树结构实现能对任意文件实现压缩/解压的小工具。通过读取特定文件中字符出现的...
在学习完堆栈数据结构后,我们很容易两个利用具有LIFO特性的栈——操作数栈、操作符栈实现中缀表达式向后缀表达式的转换,而后缀表达式也只用借助一个操作数栈便可快速求值。但书上一幅有关表达式树的图片引起了我的注意,我们要如何实现这样的表达式树呢?一顿操作之后按照这篇实现JavaScript的eval()的表达式树教程实现了C++的表达式解析。下面附上我对此js代码的C++复刻版。// // Cr...
KMP算法避免了朴素算法中指针的完全回溯,而是利用起了字符串失配后算法已知的信息,实现了待匹配串指针不回退,模式串指针回归由下文提及的next数组计算得出...
C++小舜老师布置了一份挺好玩的作业:在C++中利用面对对象的思想实现一种数据类型——集合。(STL中自带了set数据类型,可参考其函数原型)造轮子的作业最喜欢了,造轮子可谓是提高姿势水平的必经之路。(尽管这个轮子可能不太好用?)由于数据结构与算法的知识空缺,也没有参考巨佬们的实现,可能使用了开销很大的实现方法。下面略提一下实现思路,注释已经十分详细:集合的第一大特点,集合中不能有重复的元素...