Wesley Fei bio photo

Email

Github

Zhihu

Bilibili

准备思考的问题

  • gcc
  • 看完马斯克传记

9.14

终于到了一周的最后了,今天早上起的有一点点的晚,不过不要紧。

来到东区图书馆之后我做的第一件事情是稍微搜了搜alphalab,发现这个实验室的研究方向,研究内容,尤其是老师和课题组的大小以及氛围让我非常非常的喜欢。今天晚上的第一件事情是看一看这个课题组的论文发表情况,并且进行阅读以及整理


Afternoon

今天下午的主要任务是完成proj2的内容,首先做的是思考如何构造一个随机生成矩形房间并且把他们连接起来的一个算法,我们的方法是

  • 先在地图上随机生成若干个矩形房间,对于这些矩形房间之间有一点条件
  • 构建计算距离,构建将房间连接起来的步骤
  • 首先写一个并查集,并查集就是对于每一个i而言,parent[i]都代表了其根节点,
    • 方法是使用递归去构建一棵tree,parent[i]表示其根节点
    • 对于合并的话是将rootX,rootY中,将比较小的树给加入到大的树里面
  • MST:最小生成树,先将所有的边进行排序,每一次选择一条合理的边(不构成环,权重最小),然后加入到我们的树里面。
  • 最后就可以将每一个步骤通过一个module进行

然后经过了大概1h的思考,1h的写代码以及2h的debug,最后我完成了这个过程

成绩情况

  1. 学年:年级成绩

GPA均值3.42,中位数3.57,409人,4.25,1.11,加权平均分均值84.6,86.06

45人挂科

班级成绩,GPA均值3.38,中位数3.50,4.13,84.1,85.31,94.26

5人有挂科

中美关系影响的是暑研的东西(签证的问题)

对于出国的话只会影响到暑研,对于出国的话是用国外的学校的offer

学长分享

8+h学习

不自量力2822436190

9.13

proj 1b完成,实现了interface以及相应的继承,在别的函数中的调用工作并且在原本的东西上进行拓展。

完成proj 1b的感想的话,对于proj 1b我们主要告诉了我们对于类的继承,同时对于实现的过程中也要遵循其对象编程的概念。


然后就是去做lab5的内容了,lab5,6和proj2是一体的。

第一个就是使用random去进行分类,注意对于不同的函数部分的封装。

对于随机数生成算法pseudorandom而言,通过计算二进制中的平移去实现

lab5

random随机数算法,switch, 封装编程

image-20250913215851367

不知道是什么情况,突然感到右手指关节非常的疼痛,就是突然麻掉了。

lab6:

一个类似于easyx的东西的实现,需要记忆以及显示文字的部分,这一块主要是StdDraw的api的调用。

9.12

morning

silksong

afternoon

主要的任务是完成proj1a,最后在过了3h之后我成功的实现了这个功能。

public class RotatingSLList<Blorp> extends SLList<Blorp>{
	public void rotateRight() {
       Blorp oldBack = removeLast();
       insertFront(oldBack);
	}
}
//这一段实现了对于类的添加功能

这个是对于原始的继承,它会继承父类的所有的方法。

对于父类的重写

public class VengefulSLList<Item> extends SLList<Item> {
private SLList<Item> deletedItems;
	public VengefulSLList() {
       deletedItems = new SLList<Item>();
	}
  
	@Override
	public Item removeLast() {
    		Item oldBack = super.removeLast();
    		deletedItems.addLast(oldBack);
    		return oldBack;
	}
 
	public void printLostItems() {
    		deletedItems.print();
	}
}

虽然但是对于我们的constructor(对于程序一开始会自动事项的东西)并不会继承

super

通过以上的内容的学习,我们大致的了解了系统编程的一些方法,包括函数的封装,对于内部的private以及对于外部的接口的设置,最后是对于不同的类之间的继承关系

虽然但是我要开始从

Lists & Arrays(lec3–6)

泛型/ADT/测试(lec7, 11, 13)

复杂度分析(lec17–19)

核心结构(lec20–25)

(lec27, 29, 30)

排序(lec32–36)

字符串索引(lec37)

9.11

今天稍微的摆烂了一天,silk song实在是有一点点的好玩,让我实在是停不下来。

9.10

对于Lecture 6的slides部分

1.我们发现线性表所画的时间比较的多,相应的,我们需要使用本身的线性存储数据的结构

2.对于这样的ArrayList( getnumber, addLast, resize, deleteLast)

3.对于这个东西的特别的说明

Lecture 7

core: write tests by ourselves

核心思想:使用junit这个东西对于你的每一个函数进行检查,相当于autograder

Lecture 8:

ready to do: proj 1A,1B,lab3

继承

interface为java中的定义一个框架

public interface List61B<Item>{
    public void addFirst(Item x);
}
public class AList<Item> implements List61B<Item>{
    public void addLast(Item x){
        
    }
}

overloading:java method可以重复使用同样的名字的函数

缺点:不好看,不容易维护(改了一个另外一个没有修改)

方法:将ALList以及SList都作为interface List61B的子类,然后使用继承的方法,再次传输就可以同时使用两者了。

overload:是同样的名字的函数,其输入不同,从而会有“overload”

overide:是子类传承了父类的方法,但是重新写了一遍这个方法

相应的,会使用@Override来作为机器中的提示,机器会从而检查接下来的东西是否符合要求

对于父类为static的,而子类为dynamic的,对于其地址可以进行更改


Evening

对于在intell J中安装插件,需要先退出当前的项目,然后在marketplace中进行搜索,然后启用插件,在调试的过程中会在底下的“控制台”边上看到相应的java visualizer

dummy模拟的

我们的测试需要测试功能,是否是destructive以及null的返回

TDD(test drive development)是非常非常重要的,不仅可以减少自己的bug,还可以提升efficiency

syntax语法

总结而言就是TDD的习惯,学会使用junit这个东西去进行实现。

今天晚上还是比较的忙碌的,首先学习了关于调试,对于继承的内容,然后是一些小小的交流,包括微信和qq上的消息,然后稍微的刷了一会会的知乎,最后干完了一个lab,虽然这个的效率有一点点的低,之后要调整。:happy:

总共的学习时长:1.5+1+1.5+2+2.5=2.5+1.5+4.5=8.5h之后需要提高。

9.9

今天早上是按照一般的时间起的床,然后稍微的摆了一点点,就去教室了,首先我把之前存的3篇文章给干完了,干完之后准备开始整理强化学习的内容,但是开摆烂了,然后是上计算系统概论,感觉这一门课程应该比较的有用,老师的专业素养还可以,我上课的时候也听到了若干自己不知道的名词,但是确实没有什么干货,中午点了tsd汉堡吃,非常好,虽然中午想要吃点好吃的,但是开摆了。

下午首先是复变函数的课程,老师讲的有点慢,感觉之后是不会再去了,然后就是篮球课,课程内容量非常的大,我感觉之后我还需要进行更多的练习。

晚上首先是摆烂了一会会,发现现在从下午学习结束直到晚上开始学习都需要至少2h,这个之后要进行调整。只是我现在实在是不像要进行强化学习的整理,但是又感觉之前的内容没有整理完成又不太好。:cry:

还是加油把。


Evening

在想了比较长时间之后,今天晚上的学习时长大概在2.5h左右,不过也是比较的合理的,维护了一下自己的仓库,然后复习了RL的东西,MDP中Psa为过往的经验,而我们使用Bellman Equation结合R(s)使用value iteration进行更新,最后得到想要的结果。

不过今天晚上一直想要找ta聊天,但是始终没有鼓起勇气,不知道是什么原因导致的。

算了,回去打丝之歌了。今天总共的学习时长为1h+1.5h+0.75h+0.5h+2hbasketball+2.5h=2.5+1.25+4.5=8.25h之后需要增加。

9.8

今天上午第一天上课,计算机网络感觉还是比较有用的一门课程。上课的时候主要是讲了Internet的主要架构,是由一堆的ISP遵从TCPIP协议于终端进行连接的东西。

同时计算机网络还是为分布式应用进行交换数据的途径

住宅接入的话由过去的数字用户线(复用电话线),电视线(复用电视的线路),以及通过一个以太网交换机&wifi能进行应用的东西。

其媒介形式有双交铜线(网线),同轴电缆(有线电视)以及光纤的方式,之后我画个几天把这些东西都学完


然后就是运筹学,这是一门比较简单但是对我而言非常的有用的课程,今天主要是提出了一个问题并且数学化,同时还介绍了一些数学的基础

我们的问题是\(min f(x),c(x)>0,g(x)=0,x\in X\)的一个东西,而使用到的东西为凸函数,同时对于凸函数大的若干性质,包括Hessian矩阵以及矩阵,向量求导也是非常非常重要的东西。


数据结构A

lecture 1:中科大jwc真的可以去吃答辩了,这个latex.ustc.edu.cn中要选择TexLive 2022才可以

C语言传递的是值,对于参数的传递的时候是只会讲实参的值给赋值过去,也就是赋值

形参return

下午的第二节课是离散数学,邵帅老师讲的非常的好,今天我还来不及整理他的思路,尤其是对于每一步如何想到的,还是非常的关键的。

晚上打球了,之后三分球需要提高。最后吐槽一下我们的老师,作业实在是一坨答辩。


今天总体过的还是非常不错的,

今天为1.5+1.5+1+1.5+1.5+3=3+3+3+1=10h的有效学习时长。