2019-11-28 第1章 基础

2019-12-03  本文已影响0人  晓晴233

1. 配套网站:http://algs4.cs.princeton.edu/

2. Mac环境搭建:https://lift.cs.princeton.edu/java/mac/

3. 数据结构是算法的副产品或是结果,因此要理解算法必须学习数据结构。

4. 理解和定义问题 → 控制问题的复杂度 → 将其分解为更容易解决的子问题

5. 本书的框架

第1章 基础:讲解用来实现、分析和比较算法的基本原则和方法(Java 编程模型、数据抽象、基本数据结构、集合类的抽象数据类型、算法性能分析的方法和一个案例分析)

第2章 排序:各种排序算法,包括插入排序、选择排序、希尔排序、快速排序、归并排序和堆排序;以及用于解决几个与排序相关的问题的算法:优先队列、选举以及归并

第3章 查找:基本的和高级的查找算法,包括二叉查找树、平衡查找树和散列表

第4章 图:对象和它们的连接(连接可能有权重和方向),利用图可以为困难的问题建模,研究深度优先搜索、广度优先搜索、连通性问题以及若干其他算法和应用,包括 Kruskal 和 Prim 的最小生成树算法、Dijkstra 和Bellman-Ford 的最短路径算法。

第5章 字符串:一系列处理字符串的算法,① 对字符串键的排序和查找的快速算法;② 子字符串查找 ③ 正则表达式模式匹配 ④ 数据压缩算法

第6章 背景:其他前沿研究领域,包括科学计算、运筹学和计算理论;搜索问题、问题转化和 NP 完全性等算法研究的支柱理论

学会算法式思考

1.1基础编程模型

1.1.1 Java程序的基本结构

7种语法:

1. 原始数据类型

用途:精确地定义整数、浮点数和布尔值等
定义包括 取值范围 和 能够对相应的值进行的操作,它们能够被组合为类似于数学公式定义的表达式

浮点数:定点就是小数点永远在固定的位置上,浮点数就是一个定点数加上一个阶码(阶码表示将这个定点数的小数点移动若干位)

2. 语句

通过创建变量并对其赋值、控制运行流程或者引发副作用来进行计算;

六种语句:声明、赋值、条件、循环、调用和返回

3. 数组

多个同种数据类型的值的集合

4. 静态方法

封装并重用代码,使我们可以用独立的模块开发程序

5. 字符串

一连串的字符,Java 内置了对它们的一些操作

6. 标准输入 / 输出

程序与外界联系的桥梁

7. 数据抽象

封装和重用代码,使我们可以定义非原始数据类型,进而支持面向对象编程

输入命令执行程序的环境称为虚拟终端

上一篇 下一篇

猜你喜欢

热点阅读