参考资料
我仍然不会写部分算法,我能借鉴别人的代码吗?
阅读、理解并模仿别人的代码是一种有效的学习方式。但是,由于这门课大部分算法是在上课讲过的,笔者非常建议:
- 不要直接学习“最正确”的完成方式,这会导致你不知道其他方式存在的问题。
- 哪怕用最土最低效的方式,也要在不看别人代码的前提下,自己从头写一遍。
请注意,我们的查重标准原则是禁止提交复制粘贴的代码,或者和复制粘贴几乎等价的代码。
以下行为将被认为是抄袭:
- 未注明所有在实现该题时讨论过的同学,与参考过的代码。
- 除了题目给定的模板与参考实现外,存在显著的复制粘贴他人代码的痕迹;
- 与复制粘贴几乎等价的重写代码:
- 调整排版;
- 替换变量名;
- 加减注释、无用代码;
- 重排序语句、函数;
- 刻意降低代码可读性:
- 混淆代码;
- 使用编译器处理代码,如大量使用内联汇编。
因此,我们对判定非抄袭的最低要求是:
- 除了教材、课件、下发文件外,关闭和题目直接相关的参考内容和代码,从头开始自己写一遍。
- 在代码中标记与你讨论过的同学、参考过的额外资料。如果有公开的网页链接,请在代码中指明。
- 请注明所有和算法实现直接相关的资料和内容。
- 一个例外是和语言、环境相关的内容:你可以查阅 C/C++ 中如何使用某功能,或者搜索编译错误信息的原因,或者搜索 IDE 如何配置,而无需额外注明。
- 在提交正确前,不要完整阅读对应题目的代码实现;在提交正确后,也不要将代码直接提供给未完成作业的同学。
推荐网络资料
- The Missing Semester of Your CS Education:正统的环境配置、调试、工具使用等。
- 一个包含这个的 CS 自学指南 中有大量 CS 相关的内容,不局限于算法和编程相关。
- 搜索引擎:Google, Bing
- 不推荐百度的原因是首页有大量 CSDN 和类似的复制粘贴内容,质量实在不行。
- 实在要使用百度,有同学推荐了 https://kaifa.baidu.com/。
- 你可以通过搜索引擎直接在结果里找到这些网站的内容,通常是具有参考价值的:
- cppreference.com:查询语言相关内容。
- Stack Overflow:查询各种奇奇怪怪的问题的讨论。
- OI Wiki:提供了大量算法教程与 OI 向环境配置,文风更偏向竞赛风格。
- ChatGPT:遇到了搜索引擎解决不了的问题,为什么不先问问神奇海螺呢?
- 当然,你需要对 AI 写出的代码负责。如果 AI 代替你抄袭了,也算是你抄袭。