Java入门与基础算法班 - 课程大纲
第1章 零基础转CS,如何准备?
· 转专业找CS工作怎么办?
· 零基础如何在最短时间内拿到offer?
· 如何写好简历?
· IT技术面试内容有哪些?
· JAVA语言怎么入门?
第2章 数组与循环 Array & Loops
· Java语言基础 I
1) IDE介绍:IntelliJ
2) int变量及其范围
3) char变量,什么是Unicode
4) boolean变量的与或非运算
5) 如何写好if语句
6) for循环和while循环
· 实战面试真题
1) character to integer
2) 数组的最大值
3) 打印矩阵
4) reverse integer
第3章 字符串,函数与类 String, Function & Class
· Java语言基础 II
1) 字符串 String
2) 函数 Function
3) 类和对象 Class & Object
4) 什么是面向对象 Object Oriented
· 实战面试真题
1) convert lower case to upper case
2) 判断回文字符串
3) convert string to integer
第4章 引用与链表 Reference and Linked List
· OO基础,reference和链表
1) 什么是reference
2) 链表及其CRUD操作
3) linked list v.s. array list
· 实战面试真题
1) find node in linked list
2) insert into sorted linked list
3) reverse linked list
4) remove n-th node from last
5) merge two sorted linked list
第5章 栈与队列 Stack & Queue
· 栈和队列
1) 什么是数据结构
2) 栈及其实现
3) 队列及其实现
4) 集合类数据结构总结
5) 算法的时间和空间复杂度
· 实战面试真题
1) 括号匹配
2) 栈的两种实现方式
3) 队列的实现
第6章 树和递归 Tree & Recursion
· 树和递归
1) 最火的数据结构:树
2) 什么是递归
3) 树的三种遍历方式
4) 递归算法的时间空间复杂度分析
· 实战面试真题
1) 求树的高度
2) 求所有叶子结点的和
3) 求所有根到叶子的路径
4) 翻转二叉树
第7章 二叉查找树与哈希表 BST & Hash Table
· BST 和 hash table
1) 什么是BST (Binary Search Tree)
2) BST的两种插入方式
3) 什么是hash table
4) 什么是hash code
5) BST和hash table的应用价值
· 实战面试真题
1) validate BST
2) validate balanced binary tree
3) sorted array to balanced BST
第8章 排序 Quick Sort & Merge Sort
· 排序
1) 插入排序
2) 选择排序
3) 归并排序
4) 快速排序
5) Comparator的使用
· 实战面试真题
1) sort colors
2) 重排数组构成最大数