代码拉取
https://github.com/xuzheng465/Stanford_CS110
找到assign1文件夹就是第一个assign啦
路径修改(复制)
官方给了正确答案,但给的是可执行文件在文件夹slink
里,由于给的是可执行文件想要运行官方的答案就要把actordata
和moviedata
两个文件复制到他所要求的路径.在imdb-utils.h
头文件中可以找到该路径:
const std::string kIMDBDataDirectory("/usr/class/cs110/samples/assign1/");
测试
测试应该有三个文件SANITY.ini
,sanity.py
和sanity.pyc
.所有的测试用例都在SANITY.ini
中,后面两个估计是测试的python脚本,没琢磨出来怎么用(sanity.pyc
会报错).故选择最原始的方式通过一个个样例进行比对.对于第二个bfs有些用例有时间要求可以使用如下代码来进行时间测试:
#include <iostream>
#include <chrono>
int main() {
// 开始计时
std::chrono::steady_clock::time_point start = std::chrono::steady_clock::now();
// 你写的bfs
// 结束计时
std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now();
// 计算执行时间(毫秒为单位)
std::chrono::milliseconds duration =
std::chrono::duration_cast<std::chrono::milliseconds>(end - start);
// 输出执行时间
std::cout << "times: " << duration.count() << " ms" << std::endl;
return 0;
}
文档查阅
代码这里就不给出了(就是一些低质量代码),给出一些我在做实验过程中查阅的一些文档和工具:
- lower_bound
- chatGPT
- lamda表达式
希望能给有需要的小伙伴一点帮助