<
查看: 2454|回复: 21
收起左侧

[CS61B_Spring 2015] Discussion2 - Diagramming, Iterative vs. Recursive

|只看干货
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   92% (112)
 
 
7% (9)    👎
公开课
学校名称: Berkeley
Unit号: 14
开课时间: 2015-05-25
课程全名: CS61B Data Structure
平台: 其他

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

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

x
本帖最后由 hurricane_e 于 2015-5-28 04:14 编辑

Rt~

上一篇:[CS61B_Spring 2015] HW1 加分讨论帖
下一篇:[CS61B_Spring 2015] Lab2 - JUnit Testing
 楼主| hurricane_e 2015-5-29 06:45:57 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   92% (112)
 
 
7% (9)    👎



本帖子中包含更多资源

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

x

评分

参与人数 1大米 +20 收起 理由
AveMaleficum + 20

查看全部评分

回复

使用道具 举报

baiery 2015-5-29 11:56:54 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (53)
 
 
0% (0)    👎
奇怪,为什么我无法贴图?不是选择附件吗?
回复

使用道具 举报

 楼主| hurricane_e 2015-5-29 12:11:32 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   92% (112)
 
 
7% (9)    👎
baiery 发表于 2015-5-29 11:56
奇怪,为什么我无法贴图?不是选择附件吗?

我一般是通过 ”回复-->高级模式-->图片“ 里面贴图的 有时候要等一等
回复

使用道具 举报

baiery 2015-5-29 12:50:50 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (53)
 
 
0% (0)    👎
图片是第一题
//2 Squaring a List

/** Destructively squares each element of the given IntList L.
* Don’t use ’new’; modify the original IntList.
* Should be written iteratively. */
public static IntList SquareDestructive(IntList L) {
        while(L!=null){
                L.head = L.head * L.head;
                L = L.tail;
        }
}


/** Non-destructively squares each element of the given IntList L.
* Don’t modify the given IntList.
* Should be written recursively*/
public static IntList SquareNonDestructive(IntList L) {
        if (L == null){
                return null;
        }
        else{
                IntList N = new IntList(L.head * L.head, SquareNonDestructive(L.tail));
                return N;
        }
}

//Destructive, recursively
public static IntList SquareDestructiveRecursive(IntList L) {
        if (L == null){
                return null;
        }
        else{
                L.head = L.head * L.head;
                return SquareDestructiveRecursive(L.tail); //Not sure here, should I use "return"?
        }
}

//Non-destructive, iteratively
public static IntList SquareNonDestructiveIterative(IntList L) {
        IntList N = new IntList();
       
        while(L!=null){
                N.head = L.head * L.head;
                L = L.tail;
                N = N.tail;
        }
}


//3 Reversing Linked Lists
/** Takes in an IntList and non-destructively returns an IntList whose
elements have been reversed.*/
public static IntList reverseNonDestructive(IntList lst) {
        IntList N = new IntList();

        while(lst!=null){
                N = IntList(lst.head, N);
                lst = lst.tail;
        }
        return N;
}


/** Bonus for bosses: Write reverseDestructive, which takes in an IntList
and destructively returns the same IntList with reversed elements.
You should not use ’new’.*/
public static void reverseDestructive(IntList L) {

}

最后一题不会啊,求解答啊,想了半天!
另外SquareDestructiveRecursive这个方法里,不知道要不要return,求解答!
感觉自己太搓了,三道discussion竟然搞了一上午,崩溃。。

本帖子中包含更多资源

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

x

评分

参与人数 1大米 +20 收起 理由
hurricane_e + 20

查看全部评分

回复

使用道具 举报

 楼主| hurricane_e 2015-5-29 12:59:30 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   92% (112)
 
 
7% (9)    👎
baiery 发表于 2015-5-29 12:50
图片是第一题
//2 Squaring a List

最后那个bonus方法我也不会╮(╯﹏╰)╭
同样学弱 做了好久。。也不太确定自己到底会了没。。

慢慢来吧=。=
回复

使用道具 举报

baiery 2015-5-29 13:41:13 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (53)
 
 
0% (0)    👎
hurricane_e 发表于 2015-5-29 12:59
最后那个bonus方法我也不会╮(╯﹏╰)╭
同样学弱 做了好久。。也不太确定自己到底会了没。。

//Destructive, recursively
public static IntList SquareDestructiveRecursive(IntList L) {
        if (L == null){
                return null;
        }
        else{
                L.head = L.head * L.head;
                return SquareDestructiveRecursive(L.tail); //Not sure here, should I use "return"?
        }
}
你觉得这里要写return嘛?可以直接写 SquareDestructiveRecursive(L.tail);吗?

另外我看你的代码里,最后一题第一句是 IntList M = null; 不用先 IntList M = new IntList(); 然后再赋初值吗?我好多格式化的问题都没搞清楚
回复

使用道具 举报

go7going 2015-5-29 18:27:06 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   97% (80)
 
 
2% (2)    👎
求lz给个61B的课程链接呗~
回复

使用道具 举报

 楼主| hurricane_e 2015-5-30 03:16:08 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   92% (112)
 
 
7% (9)    👎
go7going 发表于 2015-5-29 18:27
求lz给个61B的课程链接呗~

http://www.1point3acres.com/bbs/thread-135059-1-1.html
都在主帖第一楼里~
回复

使用道具 举报

 楼主| hurricane_e 2015-5-30 03:23:22 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   92% (112)
 
 
7% (9)    👎
baiery 发表于 2015-5-29 13:41
//Destructive, recursively
public static IntList SquareDestructiveRecursive(IntList L) {
        ...

你的code有一点点问题,我觉得应该是这样:
public static IntList squareDestructiveRecursive(IntList L) {
        if (L == null){
                return null;
        }
        return new IntList (L.head * L.head, squareDestructiveRecursive(L.tail));
}

另外那个IntList M = null 的我其实也不太确定,但是可以compile,所以应该是可以的吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

隐私提醒:
■拉群请前往同学同事飞友|拉群结伴版块,其他版块拉群,帖子会被自动删除
■论坛不能删帖,为防止被骚扰甚至人肉,不要公开留微信等联系方式,请以论坛私信方式发送。
■特定版块可以超级匿名:https://tools.1point3acres.com/thread
■其他版块匿名方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

X 关闭
>
快速回复 返回顶部 返回列表