查看: 3343| 回复: 14
跳转到指定楼层
上一主题 下一主题
收起左侧

[入门|算法|数据结构] CS61B sp18版学习记录贴

全局:
公开课
学校名称: UC Berkeley
Unit号: 15
开课时间: 2018-05-01
课程全名: CS61B Data Structure
平台: 其他
URL: https://sp18.datastructur.es/

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

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

x
1月8号正式学习UC Berkeley大名鼎鼎的CS61B课程,这是一门有关数据结构的课,使用Java语言。由于有一些Java语法基础,所以前面的lecture听的比较轻松。目前正在做proj0

上一篇:[公开课] CS61A组队一起学习转码
下一篇:求CS61a的问题答案
推荐
 楼主| kartone 2023-1-12 00:15:14 | 只看该作者
全局:
两天写了proj0,是有关行星之间的万有引力,以及将它们在图上画出来。计算万有引力那部分倒是中规中矩,不过在画图那个地方直接惊艳到我了:首先是Priceton提供的库,包括读int、double和String,以及StdDraw实现绘图,直接打包成函数给我们用,真的很方便;其次是精心准备的数据和图片。所有的数据和图片都有条理地放在文件夹中,并且图片十分精美;接着是静态图。我做的图形化的项目很少,所以看到自己能够把行星、太阳和宇宙呈现到画布时很是吃惊,笑的合不拢嘴;最后是效果图。planets.txt的数据是行星围绕太阳转,还有很多数据集等待你去探索,有松鼠打架、保龄球、三体和各种美的行星运动轨迹,真的美啊!
做完proj0真的很值!保姆式的教学,准备好的test和引导我们自己写test,61B真的好精彩!

评分

参与人数 1大米 +2 收起 理由
lozakkaka + 2 很有用的信息!

查看全部评分

回复

使用道具 举报

推荐
 楼主| kartone 2023-1-13 09:11:06 | 只看该作者
全局:
看了List的2.1,觉得难度还不是很大。链表曾经是我的噩梦,也没花时间去学。现在重新拾起来了。github上也有Lecture-Code,可以回顾课上写的代码。
lecture推荐了一篇文章 Law of the Breaking Futon,主要是我们要透彻的理解每一个知识点,否则地基不牢后面的学习就会吃力,即自己给自己设了个ceiling。链表也是这样,一定要吃透,要不然后面的数据结构没法学。
完成了lab2setup,也就是IDEA的基本配置,也多了解了IDEA的一些特性,比如Project Structure中引入library、配置JDK,还有好用的style-checker和java-visualizer插件

评分

参与人数 1大米 +2 收起 理由
lozakkaka + 2 很有用的信息!

查看全部评分

回复

使用道具 举报

推荐
 楼主| kartone 2023-1-14 23:07:27 | 只看该作者
全局:
Lecture2.4 Arrays,对数组有了更深的理解。比如int[] a = new int[3]; 那么a中的元素默认都为0. 而对于2D数组,int[][] a = new int[3][],元素则是null,对于这种类型的2D数组,int[][] a = new int[3][3],元素则是数组。二维数组不过是arrays of arrays,那么二维数组就挺好理解了。还有the golden rule of thumb,就是赋值原则:把一个变量里的值赋到另一个变量,这也就是int[] y = a; 为什么y也能控制a的元素的原因,因为a中存放的是数组的地址。
Java还有reflections,不过慎用,因为code style is terrible

评分

参与人数 1大米 +2 收起 理由
lozakkaka + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
 楼主| kartone 2023-1-13 23:31:03 | 只看该作者
全局:
看了lecture2.3 双向链表DLLists,了解了caching, generic programming和sentinel,并且做了proj1a,有关加了sentinel的循环双向链表。其实做下来发现链表其实也没有那么可怕,只要沉心静气地做,就能完成很多看似困难难的任务。

评分

参与人数 1大米 +2 收起 理由
lozakkaka + 2 很有用的信息!

查看全部评分

回复

使用道具 举报

🔗
lozakkaka 2023-1-15 05:40:50 | 只看该作者
全局:
kartone 发表于 2023-1-14 10:07
Lecture2.4 Arrays,对数组有了更深的理解。比如int[] a = new int[3]; 那么a中的元素默认都为0. 而对于2D ...

兄弟 1.2的gitbook是不是打不開?
回复

使用道具 举报

🔗
 楼主| kartone 2023-1-18 10:08:35 | 只看该作者
全局:
lozakkaka 发表于 2023-1-15 05:40
兄弟 1.2的gitbook是不是打不開?

我也遇到过这情况,过一会再打开就好了

评分

参与人数 1大米 +2 收起 理由
lozakkaka + 2 對 刷新一陣子就可以了

查看全部评分

回复

使用道具 举报

🔗
lozakkaka 2023-1-20 00:38:42 | 只看该作者
全局:
kartone 发表于 2023-1-17 21:08
我也遇到过这情况,过一会再打开就好了
對 刷新一陣子就可以了
回复

使用道具 举报

🔗
 楼主| kartone 2023-1-24 10:41:38 | 只看该作者
全局:
看了Lecture 2.5 AList,就是有关数组的一系列操作。花了三个小时完成了disc 3和题解,不得不说,题解写的十分精彩,很优美。
回复

使用道具 举报

🔗
 楼主| kartone 2023-1-25 22:37:44 | 只看该作者
全局:
完成了lab2-IDEA debug技巧和proj1a-AList,以及部分Lecture 3.1-Test。Lab2教了IDEA的一些debug方法,step into, step over, resume, conditional breakpoint, evaluate expression(后续会进一步讲)。proj1a做了一下午,写了ad hoc test,不过不强,交到autograder就错了。采用了循环数组的思想,关键在于设置nextFirst和nextLast两个变量,这样在写addFirst和addLast的时候就能方便地增加元素。
回复

使用道具 举报

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

本版积分规则

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