Fallenpetals

2
获赞数
1
关注数
9
粉丝数
IP 属地浙江
2021-01-25 加入
浏览 5.7k
╭╮╱╭┳━━━┳╮╱╭╮
┃┃╱┃┃╭━╮┃┃╱┃┃
┃╰━╯┃┃┃┃┃╰━╯┃
╰━━╮┃┃┃┃┣━━╮┃
╱╱╱┃┃╰━╯┃╱╱┃┃
个人简介什么都没有
4 声望
程序员
3
java
0
黄金勋章
暂未获得该勋章
如何获得
白银勋章
暂未获得该勋章
如何获得
青铜勋章
暂未获得该勋章
如何获得
个人动态
  • 发布了文章2022-01-18
    cs61b week8 -- Binary Search Tree
    在Project 1中,Deque只给了一些API,而具体的实现代码交由我们处理,由此产生了ArrayDeque和LinkedListDeque。还有就是之前课上讲的List61B接口,只声明一些方法,具体实现为AList和SLList准确来说,Java的interface并不是ADT,因为interface允许存在一些default的方...
  • 发布了文章2022-01-16
    cs61b week8 -- Disjoint Sets
    并查集是一种数据结构,可以很方便地判断两个元素是否属于同一集合,关于并查集的演示demo,可以参考slides或其他途径,本次课Josh老师循序渐进地从并查集的数据结构选择开始一步步优化,最终使并查集得到相对较好的性能表现。简单来讲,并查集需要拥有两个功能:
  • 赞了文章2022-01-16
    List 与 Set 的 contains方法比较
    一、结论1. set.contains("obj")的效率明显高于list.contains("obj")主要比较了 ArrayList,LinkedList 和 HashSet2. 主要原因是 List 底层是通过遍历的方式去作比较,而 Set 是算key的hash值的形式与集合内元素比较二、源码1. ArrayList {代码...} 2. LinkedList {代...
  • 发布了文章2022-01-15
    cs61b week7 -- Asymptotics ||
    记其执行次数为 c(N) ,枚举N从1 到 N,C(N)的值,用以下表格表示:观察上下两个图可知当N = 1时, i = 1, j = 0;当N = 2时, i = 1 , 2, j = 0, 1;N = 2,已知i = 1的结果,只需再求i = 2的结果再将前面算得的i = 1的结果相加,即 3 = 1 + 2当N = 3时, 由于i的变化是每...
  • 发布了文章2022-01-04
    cs61b week7 -- Asymptotics I
    算法1:逐项比较,比如A[0]分别与A[1],A[2],A[3]......A[n]比较,之后再从A[1]开始,与A[2],A[3]....A[n]比较,A[2]与A[3],A[4]....比较,以此类推。
  • 发布了文章2022-01-03
    cs61b week6 -- Packages and Access Control
    包名与文件夹路径的对应关系:ug.joshh.animal 对应 ug/joshh/animal使用Packages的好处是支持不同包内可以有同名的class文件,而不会混淆
  • 发布了文章2021-12-25
    cs61b week5 -- Object Methods
    (在2020后的版本把2018写的ArrayMap改成了ArraySet,因此下面的案例基于ArraySet)所有的类都隐式地继承了Object,且包含Object的以下方法:
  • 发布了文章2021-12-24
    cs61b week5 -- Exceptions, Iterators, Iterables
    依据报错信息我们可以得知在ArrayMap.java代码第38行与ExceptiomDemo.java第6行出错,出错原因是数组越界。当遇到错误时,Java能够自动抛出异常并停止程序的运行。有时候,Java给出的报错信息并不明显,不容易得出错误,我们可以手动添加报错信息,也就是抛出一些异...
  • 发布了文章2021-12-23
    cs61b week5 -- Generics, Autoboxing
    正如我们前面所学的,我们能定义泛型类,比如LinkedListDeque<Item>和ArrayDeque<Item>当我们想去实例化一个使用泛型类的对象时,则必须把泛型替换为一种具体的类型。回想一下,Java有8种初始类型,初始类型之外的其他类型均是引用类型。对于泛型而言,...
  • 发布了文章2021-12-22
    cs61b week4 -- Java libraries and packages
    List: 有序元素集合,包含 ArrayList 和 LinkListSet: 无序元素集合,无重复元素,包含HashSet和TreeSetMap: key/values键值对型元素的集合包含HashMap和TreeMap
  • 发布了文章2021-12-21
    cs61b week4 -- Subtype Polymorphism vs. HoFs
    (注:本篇文章有点难理解,所以我直接大部分翻译原文了......标题:Subtype Polymorphism vs. Explicit Higher Order Functions)
  • 发布了文章2021-12-20
    cs61b week4--Extends, Casting, Higher Order Functions
    前面我们学习的继承是从interface继承,使用implements关键字来定义与接口的层次关系,现在我们希望可以继承class,使用extends关键字定义类的层次关系。比如现在有一个class RotatingSLList,是继承class SLList我们可以在class声明中设置这种继承关系,使用extends...
  • 发布了文章2021-12-19
    cs61b week3--Intro and Interfaces
    1.接口继承 Interface Inheritance回想上周我们所实现的SLList类和AList类,其中包含很多相似的method,比如addLast()addFirst()removeLast().....假设我们在某个类中调用SLList,当需要调用AList的时候要么把代码中的SLList改为AList,要么把AList的class全部搬过来...
  • 发布了文章2021-12-18
    cs61b week3--A New Way
    但是使用循环和.equals()方法逐项比对非常繁琐,org.junit library可以帮助我们更好地完成此项评测工作,只需一行,即可代替循环的整段,使用的是
  • 发布了文章2021-12-15
    cs61b week3--The AList
    之前我们实现了双端队列,这是一种比较完美的数据结构,在两端进行插入和删除都非常迅速,然而,当我们需要访问队列中的第i项时,总是需要从哨兵结点开始,先遍历前i-1项,才能找到第i项,最坏的情况是i位于中间,此时我们需要遍历链表长度n的一半n/2,假设n非常大时...
  • 发布了文章2021-12-13
    cs61b week2--Arrays
    方式1:创建一个大小为3的int型数组,x为对该数组的引用,默认初始值均为0方式2:创建一个int数组,里面的值为{1,2,3,4,5},Java会自动计算出该数组的长度,y为对该数组的引用
  • 发布了文章2021-12-02
    个人CS学习路线
    说明:打★为本人首先学习路线,其他的是对于公开课资源的汇总,以及可选的课程,并无必须学习的必要,依据个人时间而定,先把课程名打好,后续网站待补充
  • 发布了文章2021-11-29
    Week 2 --Introduce to CSS Part 2
    可以看到p1已经浮动到右边,且后面三个盒子依次向上移占据了p1本来的位置,说明当我们设置float属性之后,浏览器会把它从常规的文档流移走,它原本的位置也就空出来了而且float属性,不会让盒子发生margin塌陷,可以看到浏览器自带的margin,p1浮动到右边之后,p2的m...
  • 发布了文章2021-11-28
    Week 2 --Introduce to CSS Part 1
    2.除了把样式放在<style>里面之外,还可以选择把所有的样式都写在一个.css文件里面,使用<link>组件引用<link href="mycss.css"></link>这就类似于微信小程序把css文件与xml文件分开了
  • 发布了文章2021-11-24
    cs61b week2--The DLList
    这样做之后对于新增末尾结点addLast()与求末尾结点的值getLast()的时间复杂度都可以优化到O(1),但是对于removeLast(),也就是删除末尾结点来说,复杂度仍是O(n),因为当我要删除末尾结点时,我需要找到倒数第二个结点并将其next赋值为NULL,这依然需要从头遍历整个链表