0%

算法与数据结构/算法(第四版)

1.1.8 字符串

String类型是Java的一个数据类型,但并不是原始数据类型

1.1.8.1 字符串拼接

1.1.8.2 类型转换

1.1.8.3 自动转换

1.1.8.4 命令行参数

1.1.9.5 重定向与管道

image-20200712112430202

像上面这样,同时使用重定向输入和输出会清空文件中的数据,从而引发java.util.NoSuchElementException: No line found 异常

1.1.9.7 标准绘图库(基本方法)

经验启发: 如何确定一个正方形(包括位置和大小):

只需要确定正方形的中心位置,以及中心位置具体一条边的距离即可

1.1.9.8 标准会图库(控制方法)

StdDraw.fillRectangle(x, y, rw, rh)中x,y是长方形左下角的坐标。以屏幕左下角为(0,0)作为标准

1.1.11 展望

数据抽象: 主要思想是鼓励程序员定义自己的数据类型(一系列值和对这些值的操作),而不仅仅是那些操作预定义的数据类型的静态方法。

1.2 数据抽象

抽象数据类型(ADT)是一种能够对使用者以藏数据表示的数据类型。

抽象数据类型的主要不同之处在于它将数据和函数的实现关联,并将数据的表示方式隐藏起来。在使用抽象数据类型时,我们的注意力集中在API描述的操作上而不会去关心数据的表示;在实现抽象数据类型时,我们的注意力集中在数据本身并将实现对该数据的各种操作.

1.2.1.4 对象

对象是能够承载数据类型的值的实体。所有对象都有三大重要特性:状态、标识和行为。对象的状态即数据类型中的值。对象的标识能够将一个对象区别于另一个对象。可以认为对象的标识就是它在内存中的位置。对象的行为就是数据类型的操作。

4.4 最短路径

4.4.1 最短路径的性质

  • 路径是有向的
  • 权重不一定等于距离
  • 并不是所有顶点都是可到达的。如果t并不是从s可达的,那么就不存在任何路径,也就不存在最短路径
  • 负权重会使问题更复杂
  • 最短路径一般都是简单的。找到的最短路径都不会含有环
  • 最短路径不一定是唯一的
  • 可能存在平行边和字环:平行边的权重最小者才会被选上,最短路径也不可能包含自环(除非自环的权重为零)

有意思的问答

image-20200808104316694

image-20200808105104209

image-20200808105641873

image-20200808110013526