清华大学驭风计划数据结构与算法考核题目答案

课程链接: 清华大学驭风计划 

驭风计划是由清华大学老师教授的,其分为四门课,包括: 机器学习(张敏教授) , 深度学习(胡晓林教授), 计算机语言(刘知远教授) 以及数据结构与算法(邓俊辉教授)。代码和报告均为本人自己实现,由于篇幅限制,只展示任务布置以及关键代码,如果需要报告或者代码可以私聊博主

数据结构与算法部分授课老师为邓俊辉教授,主要通过从贪心,分治,图搜索,动态规划 , 散列表, 计算几何入门数据结构与算法,有想法的可以私聊我

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
抱歉,作为一个语言模型,我并不具备编写代码的能力。不过,我可以为您提供一个四参数Logistic拟合的函数模板,您可以根据自己的需要进行修改: ```c++ #include <cmath> #include <vector> using namespace std; // 四参数Logistic拟合函数模板 double logistic(double x, double A, double B, double C, double D) { return (A - D) / (1 + pow(x / C, B)) + D; } // 最小二乘法算法 void least_square_fit(vector<double> x, vector<double> y, double &A, double &B, double &C, double &D) { // 初始化参数 A = 1.0; B = 1.0; C = 1.0; D = 0.0; double lr = 0.01; // 学习率 int epochs = 10000; // 迭代次数 // 迭代更新参数 for (int i = 0; i < epochs; i++) { double dA = 0.0, dB = 0.0, dC = 0.0, dD = 0.0; for (int j = 0; j < x.size(); j++) { double y_pred = logistic(x[j], A, B, C, D); dA += 2 * (y_pred - y[j]) / pow(1 + pow(x[j] / C, B), 2); dB += 2 * (y_pred - y[j]) * (A - D) * pow(log(x[j] / C), 2) * pow(x[j] / C, B) / pow(1 + pow(x[j] / C, B), 3); dC += 2 * (y_pred - y[j]) * (A - D) * B * pow(x[j] / C, B - 1) / pow(1 + pow(x[j] / C, B), 2); dD += 2 * (y_pred - y[j]) * (-1) / pow(1 + pow(x[j] / C, B), 2); } A -= lr * dA; B -= lr * dB; C -= lr * dC; D -= lr * dD; } } // 示例使用 int main() { vector<double> x = {5000.00, 2500.00, 1250.00, 625.00, 312.00}; vector<double> y = {2.14, 1.48, 0.97, 0.55, 0.34}; double A, B, C, D; least_square_fit(x, y, A, B, C, D); printf("A = %.2f, B = %.2f, C = %.2f, D = %.2f\n", A, B, C, D); return 0; } ``` 注意,这里只提供了一个简单的示例函数模板,实际应用中需要根据具体情况来进行修改和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值