一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 950|回复: 13
收起左侧

[Homework] Algorithms: Design and Analysis, Part I (Week 1)

[复制链接] |试试Instant~ |关注本帖
themis00 发表于 2015-2-6 01:17:33 | 显示全部楼层 |阅读模式

[Coursera]Algorithms: Design and Analysis, Part 1 #1 - 2015-01-19@Stanford University

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
本帖最后由 themis00 于 2015-2-6 01:20 编辑

这门课应该不止我一个人跟啊……作业贴一直没人开,我来开好了。另外,求学分~~~
2015-2-2 18-44-20.jpg


2015-2-2 18-44-04.jpg



评分

1

查看全部评分

sunnychan 发表于 2015-2-8 23:36:07 | 显示全部楼层

[Homework] Algorithms: Design and Analysis, Part I (Week 1)

本帖最后由 sunnychan 于 2015-2-8 23:37 编辑

DesignAndAnalysisWeek1

DesignAndAnalysisWeek1
pq1.PNG

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

New613Life 发表于 2015-2-9 00:19:39 | 显示全部楼层
之前完成的
week1_problem.jpg
week1_programming.jpg

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

liyimeng 发表于 2015-2-9 07:31:37 | 显示全部楼层
同求学分, week1_problem.png

week1_coding.png

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

supman 发表于 2015-2-10 07:31:48 | 显示全部楼层
请问下 这是哪个网站做的题呢?
回复 支持 反对

使用道具 举报

sunnychan 发表于 2015-2-10 19:58:55 | 显示全部楼层
supman 发表于 2015-2-10 07:31
请问下 这是哪个网站做的题呢?

coursera上面的课程,跟这门课有对应的homework要做
回复 支持 反对

使用道具 举报

lufan1989 发表于 2015-7-7 15:33:57 | 显示全部楼层
这门课6.30又开了,可不可以让我在这里混点学分啊?在开帖肯定会很乱啊,而且上的人不多。求学分!
a11.jpg
a12.jpg

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

yangze0930 发表于 2015-7-8 18:11:52 | 显示全部楼层
求问第一周编程题,第一次使用vector写程序。为什么算出来的和用动态数组写的程序算出来的不一样 使用vector写的程序代码,算出来是2584786980.
  1. #include<iostream>
  2. #include<vector>
  3. #include<fstream>

  4. using namespace std;

  5. long long countInversion(vector<int> & vec)
  6. {
  7.         int n = vec.size();
  8.         if (n != 1)
  9.         {
  10.                 vector<int> b, c;
  11.                 for (int i = 0; i < n / 2; i++)
  12.                 {
  13.                         b.push_back(vec[i]);
  14.                 }
  15.                 for (int i = 0; i < n - n / 2; i++)
  16.                 {
  17.                         c.push_back(vec[n / 2 + i]);
  18.                 }
  19.                 long long num1 = countInversion(b);
  20.                 long long num2 = countInversion(c);
  21.                 long long num3 = 0;
  22.                 vec.clear();
  23.                 int i = 0, j = 0;
  24.                 for (int k = 0; k < n; k++)
  25.                 {
  26.                         if (i < n / 2 && j<n - n / 2)
  27.                         {
  28.                                 if (b[i] <= c[j])
  29.                                 {
  30.                                         vec.push_back(b[i]);
  31.                                         i++;
  32.                                 }
  33.                                 else if (b[i]>c[j])
  34.                                 {
  35.                                         vec.push_back(c[i]);
  36.                                         num3 = num3 + n / 2 - i;
  37.                                         j++;
  38.                                 }
  39.                         }
  40.                         else if (i >= n / 2)
  41.                         {
  42.                                 vec.push_back(c[j]);
  43.                                 j++;
  44.                         }
  45.                         else if (j >= n - n / 2)
  46.                         {
  47.                                 vec.push_back(b[i]);
  48.                                 i++;
  49.                         }
  50.                 }
  51.                 long long ans = num1 + num2 + num3;
  52.                 return ans;
  53.         }
  54.         else if (n == 1)
  55.                 return 0;
  56. }


  57. int main(void)
  58. {
  59.         vector<int> a;
  60.         int temp;
  61.         ifstream fin("D:\\IntegerArray.txt");
  62.         if (!fin)
  63.         {
  64.                 cout << "can't open file";
  65.                 return 1;
  66.         }
  67.         for (int i = 0; i < 100000; i++)
  68.         {
  69.                 fin >> temp;
  70.                 a.push_back(temp);
  71.         }
  72.         long long ans = countInversion(a);
  73.         cout << a.size()<<'\t'<<ans;
  74.         getchar();
  75.         getchar();
  76.         return 0;
  77. }
复制代码
使用动态数组算出来的结果是2407905288
  1. #include<iostream>
  2. #include<fstream>
  3. using namespace std;

  4. long long inven(int a[],int n)
  5. {
  6.         if (n != 1)
  7.         {
  8.                 int *b=new int[n/2];
  9.                 int *c=new int[n-n/2];
  10.                 for (int i = 0; i < n / 2; i++)
  11.                 {
  12.                         b[i] = a[i];
  13.                 }
  14.                 for (int i = 0; i < n - n / 2; i++)
  15.                 {
  16.                         c[i] = a[n / 2 + i];
  17.                 }
  18.                 long long num1 = inven(b,n/2);
  19.                 long long num2 = inven(c,n-n/2);
  20.                 long long num3 = 0;
  21.                 int i = 0, j = 0;
  22.                 for (int k = 0; k < n; k++)
  23.                 {
  24.                         if (i < n / 2 && j<n-n/2)
  25.                         {
  26.                                 if (b[i] <= c[j])
  27.                                 {
  28.                                         a[k] = b[i];
  29.                                         i++;
  30.                                 }
  31.                                 else if (b[i]>c[j])
  32.                                 {
  33.                                         a[k] = c[j];
  34.                                         num3 = num3 + n / 2 - i;
  35.                                         j++;
  36.                                 }
  37.                         }
  38.                         else if (i >= n / 2)
  39.                         {
  40.                                 a[k] = c[j];
  41.                                 j++;
  42.                         }
  43.                         else if (j >= n - n / 2)
  44.                         {
  45.                                 a[k] = b[i];
  46.                                 i++;
  47.                         }
  48.                 }
  49.                 delete b;
  50.                 delete c;
  51.                 long long ans = num1 + num2 + num3;
  52.                 return ans;
  53.         }
  54.         else if (n == 1)
  55.                 return 0;
  56. }

  57. int main(void)
  58. {
  59.         ifstream fin("D:\\IntegerArray.txt");
  60.         if (!fin)
  61.         {
  62.                 cout << "can't open file";
  63.                 return 1;
  64.         }
  65.         int a[100000];
  66.         for (int i = 0; i < 100000; i++)
  67.         {
  68.                 fin >> a[i];
  69.         }
  70.         long long ans = inven(a,100000);
  71.         cout << ans;
  72.         getchar();
  73.         getchar();
  74.         return 0;
  75. }
复制代码
蟹蟹各位啦



回复 支持 反对

使用道具 举报

chungjin 发表于 2015-7-15 19:41:36 | 显示全部楼层
交作业,4.0和5.0 2015-07-15 19:37:56的屏幕截图.png 2015-07-15 19:38:19的屏幕截图.png

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

a0106660 发表于 2015-7-19 17:31:43 | 显示全部楼层
老师讲的好快,ppt 也是手写。。。应该后面会更难吧...感觉要跪了
week1.1.PNG
week1.PNG
回复 支持 反对

使用道具 举报

althinking 发表于 2015-7-19 18:42:19 | 显示全部楼层
QQ截图20150719184112.png
QQ截图20150719184139.png

回复 支持 反对

使用道具 举报

神罗天征 发表于 2015-7-22 16:43:20 | 显示全部楼层
JU@KPO)I_2VQ`XUHV(G[T[L.png MECAZ{KHPHD`MMPGS9IFDSS.png
回复 支持 反对

使用道具 举报

a64663485 发表于 2016-7-30 17:54:26 | 显示全部楼层
额 最近刚开始跟的新一轮课程
hw1.png

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

李大侠 发表于 2016-10-30 09:56:03 | 显示全部楼层
原来这门课也有作业帖,教授口语太好,不得不听好几遍。结合算法导论看更易理解
Screen Shot 2016-10-30 at 9.52.19 AM.png
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-5 16:33

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表