📣 独立日限时特惠: VIP通行证立减$68
查看: 5071| 回复: 20
跳转到指定楼层
上一主题 下一主题
收起左侧

[入门|算法|数据结构] 2016 9月 Algorithm,Part1 week2 作业帖

全局:
公开课
学校名称: Princeton University
Unit号: 2
开课时间: 2016-09-02
课程全名: Algorithm,Part1
平台: Coursera

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
课程汇总 && 介绍:http://www.1point3acres.com/bbs/thread-200970-1-1.html

第二次作业,Randomized Queues and Deques  作业入口

上一篇:2016 9月 Algorithm,Part1 week1 作业帖
下一篇:2016 9月 Algorithm,Part1 week4 作业帖
推荐
farewell 2016-9-8 00:21:56 | 只看该作者
全局:
1.Deque可以用双向链表实现
2.RandomizedQueue用教授上课说的resizing array实现,remove的时候把随机得到的数对应的坑用array最后一个数填上
3.因为用的eclipse,添加命令行参数以后也无法运行,所以研究了好久好久的命令行编译,总结来说,-classpath中添加jar必须要用详细文件位置,需要多个class时用:分割,冒号前后不能有空格,感觉好麻烦啊,求助老司机怎样在eclipse中运行丫
顺便求学分~转码真的好辛苦啊呜呜呜

评分

参与人数 1学分 +1 收起 理由
Howie + 1

查看全部评分

回复

使用道具 举报

推荐
codergoose 2017-1-1 12:35:22 | 只看该作者
全局:
本帖最后由 codergoose 于 2017-1-1 15:00 编辑
youngyang 发表于 2016-9-10 20:06
Deque是用双向链表加了一个sentinel,这样在遍历的时候只要从sentinel的next一直往后遍历直到又走回sentine ...

双向链表的sentinel的值怎么表示啊?
我是这样写的:
  1.         private DLinkNode<Item> head;
  2.         private int size;
  3.        
  4.        
  5.         // create a sentinel
  6.         @SuppressWarnings("unchecked")
  7.         public DLinkedListDeque()
  8.         {
  9.                 head = new DLinkNode<Item>((Item) "", null, null);
  10.                 head.next = head;
  11.                 head.prev = head;
  12.                 size = 0;
  13.         }
复制代码
回复

使用道具 举报

🔗
youngyang 2016-9-10 20:06:25 | 只看该作者
全局:
Deque是用双向链表加了一个sentinel,这样在遍历的时候只要从sentinel的next一直往后遍历直到又走回sentinel就表示遍历完成了。看有些双向链表的介绍说双向链表用两个sentinel,但是这个作业里一个就够了啊。。

捕获.PNG (27.48 KB, 下载次数: 0)

捕获.PNG

评分

参与人数 1学分 +1 收起 理由
Howie + 1

查看全部评分

回复

使用道具 举报

🔗
nhqgoal 2016-9-12 10:01:15 | 只看该作者
全局:
youngyang 发表于 2016-9-10 20:06
Deque是用双向链表加了一个sentinel,这样在遍历的时候只要从sentinel的next一直往后遍历直到又走回sentine ...

你好,subset使用 randomizedqueue 吧,请问怎么满足题目要求的maximum size 是N呢?
回复

使用道具 举报

🔗
youngyang 2016-9-12 23:01:35 | 只看该作者
全局:
nhqgoal 发表于 2016-9-12 10:01
你好,subset使用 randomizedqueue 吧,请问怎么满足题目要求的maximum size 是N呢?

是用RandomizedQueue,但是你说的max-size是什么意思,不是输入几个就是几个吗
回复

使用道具 举报

🔗
Raymomd 2016-9-13 11:49:01 | 只看该作者
全局:
farewell 发表于 2016-9-8 00:21
1.Deque可以用双向链表实现
2.RandomizedQueue用教授上课说的resizing array实现,remove的时候把随机得到 ...

选中project ->project(上方的工具栏) -> properties -> java build path -> add jars or add external jars, 把algs4.jar 和 Std.jar 加进去就可以,但eclipse command line 不适用于这个StdIn,其他亲测可用
回复

使用道具 举报

🔗
Raymomd 2016-9-13 11:52:12 | 只看该作者
全局:
第二个random挺有意思的,想合适的next()方法用了很久,要测试nested 和 synchronic 的情况

评分

参与人数 1学分 +1 收起 理由
Howie + 1

查看全部评分

回复

使用道具 举报

🔗
nhqgoal 2016-9-13 15:13:09 | 只看该作者
全局:
youngyang 发表于 2016-9-12 23:01
是用RandomizedQueue,但是你说的max-size是什么意思,不是输入几个就是几个吗

用resize的话, 如果N 不恰好是2的幂, 那么数组的大小不是就超过N 了吗?
回复

使用道具 举报

🔗
youngyang 2016-9-13 17:30:56 | 只看该作者
全局:
nhqgoal 发表于 2016-9-13 15:13
用resize的话, 如果N 不恰好是2的幂, 那么数组的大小不是就超过N 了吗?

好像是这样。。没想到这个
回复

使用道具 举报

🔗
wangbd 2016-9-14 21:45:58 | 只看该作者
全局:
这节课不是还没开吗?请问大家是怎么做作业的,能发一个你们交作业的连接吗?就是那个auto grader或者课的链接
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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