- 博客(4)
- 收藏
- 关注
原创 《算法导论》学习笔记01:循环不变式
循环不变式前言实例:证明冒泡排序的正确性Q1.内循环Q2.外循环总结 前言 循环不变式主要用来帮助我们理解算法的正确性。关于循环不变式,我们必须证明三条性质: 初始化:循环的第一次迭代之前,它为真。 保持:如果循环的某次迭代之前它为真,那么下次迭代之前它仍为真。 终止:在循环终止时,不变式为我们提供一个有用的性质,该性质有助于证明算法是正确的。 看着有些抽象?看完下面的实例也许你会更有收获。 实例:证明冒泡排序的正确性 阅读之前你需要掌握的知识:何为冒泡排序 引自《算法导论》思考题2-2 冒泡排序.
2020-09-23 23:05:22
721
原创 [小白向]1016 Phone Bills (25分)电话账单 链表C语言实现
~~学c以来已经两个月了,终于有能力刷甲级了,脱坑跨保之路漫长呐。 原题见 https://pintia.cn/problem-sets/994805342720868352/problems/994805493648703488 本答案适合跟笔者一样不会C++的小白食用。 1.数据的储存方式 题目要求按照字母序输出个人账单,账单每一项的输出以及on/off的匹配都依赖时间顺序。所以大体思路是建立一个包含通话记录结构的以个人为单位的结构体。思路之一是构建一个广义静态链表,然后分别对每个姓名结点及其通话记
2020-09-02 23:46:00
292
原创 进阶实验5-3.4 迷你搜索引擎 (35分)C语言实现
思路参考的这位大佬 https://blog.csdn.net/yiwaite/article/details/102530593 ·读入函数思路与大佬类似。 ·输出函数里求交集利用了一个记录文件访问次数的数组,每读入一个单词,包含该单词的文件访问次数+1,最后从0-n扫描文件,记录访问次数与单词数相等的文件。 ·求文件行数并集开了100100的visit数组,记录访问状态。另开一个100101的Rows数组,Rows[i][j]代表文件i的第j个包含单词的行编号,另外Rows[i][100]来记录文件i
2020-08-24 16:48:27
2490
原创 [小白向]PTA 06-图3 六度空间 (30分)DFS通过测试点4
非科班小白,记录学习历程 看到该题第一反应是便于记录层数的dfs,但是dfs存在缺陷,详见 “为什么不能用DFS”https://blog.csdn.net/sharemon/article/details/102857989。 如数据(1) 8 8 1 3 1 2 2 3 3 4 4 5 5 6 6 7 7 8 2、3行互换得到数据(2) 8 8 1 2 1 3 2 3 3 4 4 5 5 6 6 7 7 8 用如下代码实现会得到不同的结果 #include <std
2020-08-12 19:01:49
582
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人