 JAVA 应用与开发 - 高级类特性应用与开发 高级类特性 让我们愉快的 Coding 起来吧... ��� �������������� October 9, 2018 ���� ��抽象类�接口的������定义方法 ��抽象类�接口的����� ����类的�类�����类�����类�匿名��类的 �� ��匿名内部类的���继承�接口实现的�法 ����类�的��方法 1 29 �� 1 抽象类 2 接口 接口 3 抽象类�接口�� 4 ��类 5 ��类� 2 29 抽象类 �����类 抽象类 ����象的������的�象����类 来��的�����来������的类�� �来���象的�����类������� 的��来������的�象���的类�� 抽象类� 抽象类���来������������� ����的抽象������������� �������的����的抽象� 3 29 �����类 抽象类 ����象的������的�象����类 来��的�����来������的类�� �来���象的�����类������� 的��来������的�象���的类�� 抽象类� 抽象类���来������������� ����的抽象������������� �������的����的抽象� �: 我�抽象 3 29 ����类 �定义 Java0 码力 | 61 页 | 677.55 KB | 1 年前3 JAVA 应用与开发 - 高级类特性应用与开发 高级类特性 让我们愉快的 Coding 起来吧... ��� �������������� October 9, 2018 ���� ��抽象类�接口的������定义方法 ��抽象类�接口的����� ����类的�类�����类�����类�匿名��类的 �� ��匿名内部类的���继承�接口实现的�法 ����类�的��方法 1 29 �� 1 抽象类 2 接口 接口 3 抽象类�接口�� 4 ��类 5 ��类� 2 29 抽象类 �����类 抽象类 ����象的������的�象����类 来��的�����来������的类�� �来���象的�����类������� 的��来������的�象���的类�� 抽象类� 抽象类���来������������� ����的抽象������������� �������的����的抽象� 3 29 �����类 抽象类 ����象的������的�象����类 来��的�����来������的类�� �来���象的�����类������� 的��来������的�象���的类�� 抽象类� 抽象类���来������������� ����的抽象������������� �������的����的抽象� �: 我�抽象 3 29 ����类 �定义 Java0 码力 | 61 页 | 677.55 KB | 1 年前3
 Java 应用与开发 - 类加载和反射反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 Java 应用与开发 类加载和反射 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 December 24, 2018 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 学习目标 1. 理解什么是反射机制,通过常见场景认识反射的作用。 2. 掌握类的加载、连接和初始化概念。 3. 理解类加载器及类加载机制。 4. 掌握使用反射生成并操作对象的方法。 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 接下来⋯ 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 反射机制 ▶ 程序运行时,允许改变程序结构或变量类型,这种语言称为 动态语言。从这个观点看,Perl、Python、Ruby 是动态语 言,C++、Java、C# 不是动态语言。 ▶ 但是 Java 有着一个非常突出的动态相关机制:反射 (Reflection),可以于运行时加载、探知、使用编译期间完 全未知的类。换句话说,Java0 码力 | 46 页 | 714.40 KB | 1 年前3 Java 应用与开发 - 类加载和反射反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 Java 应用与开发 类加载和反射 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 December 24, 2018 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 学习目标 1. 理解什么是反射机制,通过常见场景认识反射的作用。 2. 掌握类的加载、连接和初始化概念。 3. 理解类加载器及类加载机制。 4. 掌握使用反射生成并操作对象的方法。 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 接下来⋯ 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 反射机制 ▶ 程序运行时,允许改变程序结构或变量类型,这种语言称为 动态语言。从这个观点看,Perl、Python、Ruby 是动态语 言,C++、Java、C# 不是动态语言。 ▶ 但是 Java 有着一个非常突出的动态相关机制:反射 (Reflection),可以于运行时加载、探知、使用编译期间完 全未知的类。换句话说,Java0 码力 | 46 页 | 714.40 KB | 1 年前3
 《Java 应用与开发》课程讲义 - 王晓东. . . . . . . . . . . . . . . . . . . . . . . 10 2.1.1 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.2 数据类型转换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.3.3 二维数组赋初值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.4 Arrays 类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.5 字符串 . . . . . . . . . . . 26 3.5.1 字符串变量的创建 . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.5.2 String 类的常用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.5.3 理解 Java 字符串 . . . . . . . . .0 码力 | 330 页 | 6.54 MB | 1 年前3 《Java 应用与开发》课程讲义 - 王晓东. . . . . . . . . . . . . . . . . . . . . . . 10 2.1.1 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.2 数据类型转换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.3.3 二维数组赋初值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.4 Arrays 类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.5 字符串 . . . . . . . . . . . 26 3.5.1 字符串变量的创建 . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.5.2 String 类的常用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.5.3 理解 Java 字符串 . . . . . . . . .0 码力 | 330 页 | 6.54 MB | 1 年前3
 Java 应用与开发 - 面向对象编程进阶final 什么是多态? 在 Java 中,子类的对象可以替代父类的对象使用称为多态。 O Java 引用变量与所引用对象间的类型匹配关系 ▶ 一个对象只能属于一种确定的数据类型,该类型自对象创建 直至销毁不能改变。 ▶ 一个引用类型变量可能引用(指向)多种不同类型的对象 ——既可以引用其声明类型的对象,也可以引用其声明类型 的子类的对象。 1 Person p = new Student(); Student类型对象 Person类型变量p 大纲 多态性 方法重载 关键字 static 关键字 final 什么是多态? 在 Java 中,子类的对象可以替代父类的对象使用称为多态。 O Java 引用变量与所引用对象间的类型匹配关系 ▶ 一个对象只能属于一种确定的数据类型,该类型自对象创建 直至销毁不能改变。 ▶ 一个引用类型变量可能引用(指向)多种不同类型的对象 ——既 ——既可以引用其声明类型的对象,也可以引用其声明类型 的子类的对象。 1 Person p = new Student(); //Student 是 Person 的子类 0x3a478b null 0 null name age school Student类型对象 Person类型变量p 大纲 多态性 方法重载 关键字 static 关键字 final 多态性 多态性同样适用与引用类型数组元素0 码力 | 49 页 | 659.74 KB | 1 年前3 Java 应用与开发 - 面向对象编程进阶final 什么是多态? 在 Java 中,子类的对象可以替代父类的对象使用称为多态。 O Java 引用变量与所引用对象间的类型匹配关系 ▶ 一个对象只能属于一种确定的数据类型,该类型自对象创建 直至销毁不能改变。 ▶ 一个引用类型变量可能引用(指向)多种不同类型的对象 ——既可以引用其声明类型的对象,也可以引用其声明类型 的子类的对象。 1 Person p = new Student(); Student类型对象 Person类型变量p 大纲 多态性 方法重载 关键字 static 关键字 final 什么是多态? 在 Java 中,子类的对象可以替代父类的对象使用称为多态。 O Java 引用变量与所引用对象间的类型匹配关系 ▶ 一个对象只能属于一种确定的数据类型,该类型自对象创建 直至销毁不能改变。 ▶ 一个引用类型变量可能引用(指向)多种不同类型的对象 ——既 ——既可以引用其声明类型的对象,也可以引用其声明类型 的子类的对象。 1 Person p = new Student(); //Student 是 Person 的子类 0x3a478b null 0 null name age school Student类型对象 Person类型变量p 大纲 多态性 方法重载 关键字 static 关键字 final 多态性 多态性同样适用与引用类型数组元素0 码力 | 49 页 | 659.74 KB | 1 年前3
 JAVA 应用与开发 - 泛型理��型的��,������� ▶ �合���的�型 ▶ �型的����� ������型类��型�法 ▶ 理�类型参数 ▶ 理�����������的�型类��型�法 ▶ 受��的类型参数 ��处理�型类型,����������型�器����作 1 19 �� 1 �型�� 2 �型类��型�法 3 处理�型类型 2 19 �型�� ���泛型 �型�Generics� �型��� 型���� 作为��� Java 类型体�的��,���型���� Java ��� �的类型������������ 3 19 ���泛型 O 集合框架中的数据造型问题 ��的�合�器为�����的���,��������的元素 当作 Object 类型来处理���此��,�����时,我们��� ��合�取�的元素��������型�为���的类型� 无泛型机制的集合容器 1 showInfo(); 4 19 ���泛型 O 集合框架中的数据造型问题 ��的�合�器为�����的���,��������的元素 当作 Object 类型来处理���此��,�����时,我们��� ��合�取�的元素��������型�为���的类型� 无泛型机制的集合容器 1 Vector v = new Vector(); 2 v.addElement(new Person("Tom"0 码力 | 35 页 | 587.40 KB | 1 年前3 JAVA 应用与开发 - 泛型理��型的��,������� ▶ �合���的�型 ▶ �型的����� ������型类��型�法 ▶ 理�类型参数 ▶ 理�����������的�型类��型�法 ▶ 受��的类型参数 ��处理�型类型,����������型�器����作 1 19 �� 1 �型�� 2 �型类��型�法 3 处理�型类型 2 19 �型�� ���泛型 �型�Generics� �型��� 型���� 作为��� Java 类型体�的��,���型���� Java ��� �的类型������������ 3 19 ���泛型 O 集合框架中的数据造型问题 ��的�合�器为�����的���,��������的元素 当作 Object 类型来处理���此��,�����时,我们��� ��合�取�的元素��������型�为���的类型� 无泛型机制的集合容器 1 showInfo(); 4 19 ���泛型 O 集合框架中的数据造型问题 ��的�合�器为�����的���,��������的元素 当作 Object 类型来处理���此��,�����时,我们��� ��合�取�的元素��������型�为���的类型� 无泛型机制的集合容器 1 Vector v = new Vector(); 2 v.addElement(new Person("Tom"0 码力 | 35 页 | 587.40 KB | 1 年前3
 Java 应用与开发 - Java GUI 编程GUI 组件类,如 Menu、 Button、Label、TextField 等。 ▶ 抽象类 java.awt.Component 是除菜单相关组件之外所有 Java AWT 组件类的根父类,该类规定了 GUI 组件的基本 特性,如尺寸、位置和颜色效果等,并实现了作为一个 GUI 部件所应具备的基本功能。 ▶ java.awt.MenuComponent 是所有与菜单相关的组件的父类。 大纲 GUI 组件类,如 Menu、 Button、Label、TextField 等。 ▶ 抽象类 java.awt.Component 是除菜单相关组件之外所有 Java AWT 组件类的根父类,该类规定了 GUI 组件的基本 特性,如尺寸、位置和颜色效果等,并实现了作为一个 GUI 部件所应具备的基本功能。 ▶ java.awt.MenuComponent 是所有与菜单相关的组件的父类。 大纲 GUI 组件类,如 Menu、 Button、Label、TextField 等。 ▶ 抽象类 java.awt.Component 是除菜单相关组件之外所有 Java AWT 组件类的根父类,该类规定了 GUI 组件的基本 特性,如尺寸、位置和颜色效果等,并实现了作为一个 GUI 部件所应具备的基本功能。 ▶ java.awt.MenuComponent 是所有与菜单相关的组件的父类。 大纲0 码力 | 73 页 | 876.31 KB | 1 年前3 Java 应用与开发 - Java GUI 编程GUI 组件类,如 Menu、 Button、Label、TextField 等。 ▶ 抽象类 java.awt.Component 是除菜单相关组件之外所有 Java AWT 组件类的根父类,该类规定了 GUI 组件的基本 特性,如尺寸、位置和颜色效果等,并实现了作为一个 GUI 部件所应具备的基本功能。 ▶ java.awt.MenuComponent 是所有与菜单相关的组件的父类。 大纲 GUI 组件类,如 Menu、 Button、Label、TextField 等。 ▶ 抽象类 java.awt.Component 是除菜单相关组件之外所有 Java AWT 组件类的根父类,该类规定了 GUI 组件的基本 特性,如尺寸、位置和颜色效果等,并实现了作为一个 GUI 部件所应具备的基本功能。 ▶ java.awt.MenuComponent 是所有与菜单相关的组件的父类。 大纲 GUI 组件类,如 Menu、 Button、Label、TextField 等。 ▶ 抽象类 java.awt.Component 是除菜单相关组件之外所有 Java AWT 组件类的根父类,该类规定了 GUI 组件的基本 特性,如尺寸、位置和颜色效果等,并实现了作为一个 GUI 部件所应具备的基本功能。 ▶ java.awt.MenuComponent 是所有与菜单相关的组件的父类。 大纲0 码力 | 73 页 | 876.31 KB | 1 年前3
 基于 Java EE 的企业应用系统设计 - Spring MVC 01模式示例 Spring MVC 数据绑定和表单标签库 框架方式 时代进一步发展,人们发现简单的 JSP 和 Servlet 已经很难满足人 们懒惰的要求了。于是,人们开始试图总结一些公用的 Java 类, 来解决 Web 开发过程中碰到的问题。如 Struts、Spring MVC,它 们非常先进地实现了MVC 模式。 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC Struts,或是 Spring MVC,我们至少 都需要一些必须的元素: 1. 数据在这个例子中,就是 name 和 password。他们共同构成 了程序数据的核心载体。事实上,我们往往会有一个 User 类 来封装 name 和 password,这样会使得我们的程序更加 OO。 无论怎么说,数据会穿插在这个程序的各处,成为程序运行 的核心。 2. 页面展示 3. 处理具体业务的场所 大纲 Java Control 层传递到 View 层,一个个 Java 对象,又如何在页 面上以各种各样的形式展现出来。 ▶ 如果试图将数据请求从 View 层发送到 Control 层,你如何才能知 道你要调用的究竟是哪个类,哪个方法?一个 Http 的请求,又如 何与 Control 层的 Java 代码建立起关系来? 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库0 码力 | 67 页 | 792.43 KB | 1 年前3 基于 Java EE 的企业应用系统设计 - Spring MVC 01模式示例 Spring MVC 数据绑定和表单标签库 框架方式 时代进一步发展,人们发现简单的 JSP 和 Servlet 已经很难满足人 们懒惰的要求了。于是,人们开始试图总结一些公用的 Java 类, 来解决 Web 开发过程中碰到的问题。如 Struts、Spring MVC,它 们非常先进地实现了MVC 模式。 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC Struts,或是 Spring MVC,我们至少 都需要一些必须的元素: 1. 数据在这个例子中,就是 name 和 password。他们共同构成 了程序数据的核心载体。事实上,我们往往会有一个 User 类 来封装 name 和 password,这样会使得我们的程序更加 OO。 无论怎么说,数据会穿插在这个程序的各处,成为程序运行 的核心。 2. 页面展示 3. 处理具体业务的场所 大纲 Java Control 层传递到 View 层,一个个 Java 对象,又如何在页 面上以各种各样的形式展现出来。 ▶ 如果试图将数据请求从 View 层发送到 Control 层,你如何才能知 道你要调用的究竟是哪个类,哪个方法?一个 Http 的请求,又如 何与 Control 层的 Java 代码建立起关系来? 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库0 码力 | 67 页 | 792.43 KB | 1 年前3
 Java 应用与开发 - 高级 I/O 编程流 常用 I/O 流类型 I/O 应用 Java 应用与开发 高级 I/O 编程 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 October 29, 2018 大纲 Java I/O 原理 基础 I/O 流 常用 I/O 流类型 I/O 应用 学习目标 1. 深入理解 Java 的 I/O 原理 2. 掌握 Java 基本 I/O 流类型 3. 掌握 I/O 常用 I/O 流类型 I/O 应用 大纲 Java I/O 原理 基础 I/O 流 常用 I/O 流类型 I/O 应用 大纲 Java I/O 原理 基础 I/O 流 常用 I/O 流类型 I/O 应用 ���� Java I/O 原理 基础 I/O 流 常用 I/O 流类型 I/O 应用 大纲 Java I/O 原理 基础 I/O 流 常用 I/O 流类型 I/O 应用 数据宿(Data Sink) ▶ 流(Stream) Java 中把不同的数据源与程序间的数据传输都抽象表述为 流,java.io 包中定义了多种 I/O 流类型实现数据 I/O 功能。 大纲 Java I/O 原理 基础 I/O 流 常用 I/O 流类型 I/O 应用 Java I/O 流的分类 O 按照数据流动的方向 Java 流可分为输入流(Input Stream)和输出流(Output Stream)。0 码力 | 27 页 | 609.17 KB | 1 年前3 Java 应用与开发 - 高级 I/O 编程流 常用 I/O 流类型 I/O 应用 Java 应用与开发 高级 I/O 编程 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 October 29, 2018 大纲 Java I/O 原理 基础 I/O 流 常用 I/O 流类型 I/O 应用 学习目标 1. 深入理解 Java 的 I/O 原理 2. 掌握 Java 基本 I/O 流类型 3. 掌握 I/O 常用 I/O 流类型 I/O 应用 大纲 Java I/O 原理 基础 I/O 流 常用 I/O 流类型 I/O 应用 大纲 Java I/O 原理 基础 I/O 流 常用 I/O 流类型 I/O 应用 ���� Java I/O 原理 基础 I/O 流 常用 I/O 流类型 I/O 应用 大纲 Java I/O 原理 基础 I/O 流 常用 I/O 流类型 I/O 应用 数据宿(Data Sink) ▶ 流(Stream) Java 中把不同的数据源与程序间的数据传输都抽象表述为 流,java.io 包中定义了多种 I/O 流类型实现数据 I/O 功能。 大纲 Java I/O 原理 基础 I/O 流 常用 I/O 流类型 I/O 应用 Java I/O 流的分类 O 按照数据流动的方向 Java 流可分为输入流(Input Stream)和输出流(Output Stream)。0 码力 | 27 页 | 609.17 KB | 1 年前3
 Java 应用与开发 - Java 内存模型与分配机制Virtual Machine, JVM) ▶ Java 程序运行在 JVM 上,JVM 是程序与操作系统之间的桥梁。 ▶ JVM 实现了 Java 的平台无关性。 ▶ JVM 是内存分配的前提。 类装载子系统 Class文件 Class文件 Class文件 方法区 Java堆 Java栈 程序计数器 本地方法栈 执行引擎 本地接口 通过全限定名装载 操作系统 操作系统本地库 运行时数据区 保存局部变量的值,包括:用来保存基本数据类型的值; 保存类的实例,即堆区对象的引用(指针),也可以用来 保存加载方法时的帧。(Stack) 堆 用来存放动态产生的数据,如 new 出来的对象和数组。 1。(Heap) 常量池 JVM 为每个已加载的类型维护一个常量池,常量池就是 这个类型用到的常量的一个有序集合。包括直接常量 (基本类型、String)和对其他类型、方法、字段的符号 引用。池中的数据和数组一样通过索引访问,常量池在 成员方法。因 为同一个类的对象拥有各自的成员变量,存储在各自的堆内存中,但是他们共 享该类的方法,并不是每创建一个对象就把成员方法复制一次。 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 Java 程序运行过程会涉及的内存区域 程序计数器 当前线程执行的字节码的行号指示器。 栈 保存局部变量的值,包括:用来保存基本数据类型的值; 保存类的实例,即堆区对象的引用(指针),也可以用来0 码力 | 44 页 | 818.30 KB | 1 年前3 Java 应用与开发 - Java 内存模型与分配机制Virtual Machine, JVM) ▶ Java 程序运行在 JVM 上,JVM 是程序与操作系统之间的桥梁。 ▶ JVM 实现了 Java 的平台无关性。 ▶ JVM 是内存分配的前提。 类装载子系统 Class文件 Class文件 Class文件 方法区 Java堆 Java栈 程序计数器 本地方法栈 执行引擎 本地接口 通过全限定名装载 操作系统 操作系统本地库 运行时数据区 保存局部变量的值,包括:用来保存基本数据类型的值; 保存类的实例,即堆区对象的引用(指针),也可以用来 保存加载方法时的帧。(Stack) 堆 用来存放动态产生的数据,如 new 出来的对象和数组。 1。(Heap) 常量池 JVM 为每个已加载的类型维护一个常量池,常量池就是 这个类型用到的常量的一个有序集合。包括直接常量 (基本类型、String)和对其他类型、方法、字段的符号 引用。池中的数据和数组一样通过索引访问,常量池在 成员方法。因 为同一个类的对象拥有各自的成员变量,存储在各自的堆内存中,但是他们共 享该类的方法,并不是每创建一个对象就把成员方法复制一次。 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 Java 程序运行过程会涉及的内存区域 程序计数器 当前线程执行的字节码的行号指示器。 栈 保存局部变量的值,包括:用来保存基本数据类型的值; 保存类的实例,即堆区对象的引用(指针),也可以用来0 码力 | 44 页 | 818.30 KB | 1 年前3
 Hello 算法 1.0.0b1 Java版复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:查找算法、排序算法、搜索与回溯、动态规划、分治算法,内容包括定义、使用场景、优劣势、时 专有名词和有特指含义的词句会使用“双引号” 标注,以避免歧义。 0. 写在前面 hello‑algo.com 4 本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注释、内容 注释、多行注释。 /* 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行 * 注释 */ 0.2.3. 在动画图解中高效学习 视频和图片相比于文字的信息密 「线性阶」的算法,这也正是时间增长趋势的含义。 时间复杂度的推算方法更加简便。在时间复杂度分析中,我们可以将统计「计算操作的运行时间」简化为统计 「计算操作的数量」,这是因为,无论是运行平台还是计算操作类型,都与算法运行时间的增长趋势无关。因而, 我们可以简单地将所有计算操作的执行时间统一看作是相同的“单位时间”,这样的简化做法大大降低了估算 难度。 时间复杂度也存在一定的局限性。比如,虽然算法0 码力 | 186 页 | 14.71 MB | 1 年前3 Hello 算法 1.0.0b1 Java版复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:查找算法、排序算法、搜索与回溯、动态规划、分治算法,内容包括定义、使用场景、优劣势、时 专有名词和有特指含义的词句会使用“双引号” 标注,以避免歧义。 0. 写在前面 hello‑algo.com 4 本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注释、内容 注释、多行注释。 /* 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行 * 注释 */ 0.2.3. 在动画图解中高效学习 视频和图片相比于文字的信息密 「线性阶」的算法,这也正是时间增长趋势的含义。 时间复杂度的推算方法更加简便。在时间复杂度分析中,我们可以将统计「计算操作的运行时间」简化为统计 「计算操作的数量」,这是因为,无论是运行平台还是计算操作类型,都与算法运行时间的增长趋势无关。因而, 我们可以简单地将所有计算操作的执行时间统一看作是相同的“单位时间”,这样的简化做法大大降低了估算 难度。 时间复杂度也存在一定的局限性。比如,虽然算法0 码力 | 186 页 | 14.71 MB | 1 年前3
共 44 条
- 1
- 2
- 3
- 4
- 5













