自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 Agent-Based Modeling(ABM) -1

在初始状态下,狼和羊的数量是相同的,并且羊和狼都是随机分布的(图1)只要狼移动到羊的边上就可以吃掉羊,狼和羊都是有能量值的,狼通过吃掉羊维持能量并繁衍后代,羊吃草维持能量繁衍后代,羊被吃后能量为0。随着时间的流逝,羊和狼的数量都在增加(图2),渐渐的由于狼群有足够的食物,狼的数量越来越多(图3),但是由于没有羊,狼没有食物,狼的数量又开始减少(图4)。ABM的研究方式是设置和调整个体水平上的代理的行为和互动模式,而后观察集体水平上的总体特征的改变。这种研究方式是独一无二的,也是ABM的核心优势。

2023-06-09 22:59:00 1477 1

原创 CS61A Calculator

【代码】CS61A Calculator。

2023-05-25 20:21:55 114

原创 CS61A Scheme

【代码】CS61A Scheme。

2023-05-22 22:05:33 217

原创 CS61A Lab 10 Midterm Review

如果给定的对象 lnk 不是 Link 类的实例,即 isinstance(lnk, Link) 返回 False,那么 not isinstance(lnk, Link) 就返回 True。在这段代码中,当 lnk 不是 Link 类的实例时,函数直接返回长度 1。这个分支处理了链表的叶子节点,即不再有嵌套的链表,而是一个单独的节点。elif not isinstance(lnk, Link) 这一行代码用于检查给定的对象 lnk 是否不是 Link 类的实例。

2023-05-21 20:04:13 130

原创 CS61A Lab 9: Mutable Trees, Efficiency

在二叉搜索树中,右子树中所有节点的值都大于该节点的值。因此,在计算树的最大值时,只需要找到最右边的子树,然后递归地计算该子树的最大值即可。最右边的子树一定在树中的最右边,因此通过。函数是用来计算树 t 中最大的值的函数。就是该列表中的最后一个子树,即最右边的子树。返回的是 t 的所有子树组成的列表,

2023-05-10 22:01:29 236

原创 CS61A Ants Phase 3

【代码】CS61A Ants Phase 3。

2023-05-09 23:22:19 377

原创 CS61A Ants Phase2

【代码】CS61A Ants Phase2。

2023-05-08 23:06:54 364

原创 CS61A Ants Phase 1

【代码】CS61A Ants Phase 1。

2023-05-06 16:12:44 214

原创 CS61A Linked List

Linked List(链表)是一种数据结构,由一系列节点(Node)组成,每个节点包含数据和指向下一个节点的指针(或引用)。在Linked List中,节点的存储位置不一定是连续的,因此它具有动态性,可以方便地进行插入和删除操作,但是查找某个节点的效率较低。双向链表(Doubly Linked List)和单向链表类似,不同之处在于每个节点除了指向下一个节点的指针外,还有指向前一个节点的指针。假设我们有一个包含5个元素的双向链表,其中每个节点都包含一个整数值和前一个节点和后一个节点的引用。

2023-05-04 17:08:10 62

原创 CS61A Lab08 OOP,inheritance

具体来说,当账户的免费取款次数用尽时,需要向账户收取额外的取款手续费,然后再调用父类中的。我的解法虽然也可以运行,但是代码复杂的多,没有合理运用继承的原理。可以保证方法的执行顺序符合预期,从而避免出现一些意外的行为。方法,完成实际的取款操作。,是因为在多重继承的情况下,使用。方法,而不是直接使用。

2023-04-27 22:07:22 75

原创 CS61A Disc07 Object-Oriented Programming

方法作为 Cat 类的类方法。cat_creator 方法通过接受一个名为 owner 的参数,创建一个新的 Cat 实例,并返回该实例。这个方法会自动传入 Cat 类本身作为第一个参数 cls,可以在方法内部使用 cls 来引用类的属性和方法。类方法是一种属于类而不是实例的方法。类方法可以通过类本身调用,也可以通过类的实例调用。类方法的第一个参数通常命名为 cls,表示类本身,而不是实例。通过类方法,可以在不创建类的实例的情况下对类的属性和方法进行操作。方法,从而初始化新创建的实例的属性。

2023-04-24 14:36:31 104

原创 CSD61A Disc06 Mutability, Iterators, Generators

x = x + [4] 创建了一个新的列表对象,将 x 列表和 [4] 列表连接起来,并将结果赋值给 x。所以,区别在于 x += [4] 是原地修改列表,而 x = x + [4] 则会创建一个新的列表对象并重新赋值给 x。x += [4] 是原地修改列表 x,将 [4] 列表追加到 x 列表的末尾。可以看到,x 被重新赋值为 [1, 2, 3, 4],但 y 仍然引用原始的列表 [1, 2, 3]。可以看到,x 和 y 都被修改为 [1, 2, 3, 4],因为它们引用的是同一个列表对象。

2023-04-22 21:26:05 418

原创 CS61A lab06 Mutability, Iterators

但在某些情况下,例如在多线程环境中,复制一个迭代器对象可能会对迭代器的状态和行为产生影响,因此在使用。迭代器提供了一种逐个遍历集合元素的方式,具体行为取决于迭代器类型和底层数据结构。就用来保存上一次迭代的元素的值,以便在下一次迭代时进行比较和更新。,可以确保在第一次迭代时,当前元素与上一次元素一定不相等,从而保证算法的正确性。更新为当前元素的值,表示当前元素成为了新的连续出现的元素。的迭代器中获取第一个元素 1,因为迭代器默认从第一个元素开始。函数不会改变迭代器的状态,也不会改变迭代器的行为。

2023-04-22 17:39:26 223

原创 CS61A hw04

Trees

2023-04-21 22:56:53 186

原创 Starting out with Python Chapter 10

Classes and Object-Oriented Programming

2023-04-16 16:06:49 94

原创 Starting out with Python Chapter 9

【代码】Starting out with Python Chapter 9。

2023-04-15 22:23:46 124

原创 Starting out with Python Chapter8

strings

2023-04-14 22:36:18 127

原创 Starting out with Python Chapter7

【代码】Starting out with Python Chapter7。

2023-04-08 13:50:12 132 1

原创 Starting out with Python Chapter 6

python files and exceptions

2023-04-07 16:16:27 121 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除