1.1 算法入门 —— Java基础知识

1. Java程序的基本结构

原始数据结构、语句(声明、赋值、循环、条件、调用、返回)、数组(多种同类数据的集合,带有顺序)、静态方法(类似C中的函数)、stdio、数据抽象

2. 原始数据类型与表达式

3. 语句

4. 简便记法

5. 数组

6. 模块化编程

  • 程序整体的代码量很大时,每次处理的模块大小仍然适中
  • 可以共享和重用代码,无需重复实现
  • 易用改进的实现替换老旧的实现
  • 可以为问题建立抽象模型
  • 缩小debug范围

7. API

Application Programming Interface
模块化编程的一个重要组成部分就是记录库方法的用法并供其他人参考的文档

8. 字符串

9. 输入输出

10. 二分查找

1.2 数据抽象

1.3 背包、队列和栈

/* 背包 */
public class Bag<Item> implements Iterable<Item>
    Bag() 			// 创建一个空背包
    Void add(Item item) 	// 添加一个元素
    boolean isEmpty()		// 背包是否为空
    int size()			// 背包中的元素数量
/* 先进先出(FIFO)队列 */
public class Queue<Item> implements Iterable<Item>
    Queue() 			// 创建空队列
    void enqueue(Item item)	// 添加一个元素
    Item dequeue()		// 删除最早添加的元素
    boolean isEmpty()		// 队列是否为空
    int size()			// 队列中的元素数量
/* 下压(后进先出,LIFO)栈 */
public class Stack<Item> implements Iterable<Item>
    Stack() 			// 创建空栈
    void push(Item item)	// 添加一个元素
    Item pop()			// 删除最早添加的元素
    boolean isEmpty()		// 栈是否为空
    int size()			// 栈中的元素数量
/* 链表 */

Q.E.D.


To baldly -_- go no man has gone before