《JAVA全系列》
课程介绍:
本课程使用Java语言讲解数据结构和算法,以代码驱动授课,保证学员彻底掌握数据结构和算法。课程中大量讲解BAT相关的面试题目,目标是让学员可以顺利通过BAT等大厂面试,以及一些研究生考试的算法问题。
适合对象:
1. 准备BAT等大厂面试的同学
2. 考计算机相关专业研究生
3. 在职程序员的自我提升
具体内容:
单向链表、双向链表、环形链表、约瑟夫问题、链表经典面试题、ArrayList、稀疏数组、数组经典面试题、算法复杂度、冒泡排序、选择排序、插入排序、快速排序、归并排序、希尔排序、基数排序、堆排序、线性查找、二分查找、插值查找、斐波那契查找、栈、前缀、中缀、后缀表达式、栈经典面试题、单向队列、环形队列、递归与回溯、汉诺塔问题、背包问题、八皇后问题、迷宫问题、哈希表、二叉树、线索二叉树、哈夫曼树、哈夫曼编码、二叉搜索树、平衡二叉树、红黑树、二叉树经典面试题、B树、B+树、B*树、堆、优先队列、二项堆、斐波那契堆、图、邻接矩阵、邻接表、深度优先搜索、广度优先搜索、拓扑排序、Kruskal算法、Prim算法、Dijkstra算法等。
章节1:绪论 |
01_绪论_知识体系介绍 |
02_第一章_绪论_数据结构概述 |
03_第一章_绪论_数据的逻辑结构 |
04_第一章_绪论_数据的物理结构 |
05_第一章_绪论_什么是算法 |
06_第一章_绪论_时间复杂度的计算 |
07_第一章_绪论_常见时间复杂度介绍 |
08_第一章_绪论_最好、最坏和平均时间复杂度 |
09_第一章_绪论_算法的空间复杂度 |
章节2:线性表 |
10_第二章_线性表_线性表的概述 |
11_第二章_线性表_顺序表的特点 |
12_第二章_线性表_模拟ArrayList的实现_添加和获取操作 |
13_第二章_线性表_模拟ArrayList的实现_插入和删除操作 |
14_第二章_线性表_数组的反转_实现方案一 |
15_第二章_线性表_数组的反转_实现方案二 |
16_第二章_线性表_找数组中重复的元素 |
17_第二章_线性表_使奇数位于偶数前面 |
18_第二章_线性表_单链表的概述 |
19_第二章_线性表_顺序表和单链表的比较 |
20_第二章_线性表_模拟SingleLinkedList实现_添加和获取操作 |
21_第二章_线性表_模拟SingleLinkedList实现_删除操作 |
22_第二章_线性表_模拟SingleLinkedList实现_插入操作 |
23_第二章_线性表_双链表的概述 |
24_第二章_线性表_模拟DoubleLinkedList实现_添加和获取操作 |
25_第二章_线性表_模拟DoubleLinkedList实现_删除操作 |
26_第二章_线性表_模拟DoubleLinkedList实现_插入操作 - Join |
27_第二章_线性表_环形链表的概述 |
28_第二章_线性表_模拟CycleSingleLinkedList实现_添加和获取操作 |
29_第二章_线性表_模拟CycleSingleLinkedList实现_删除和插入操作 |
30_第二章_线性表_环形单链表的约瑟夫问题_思路分析 |
31_第二章_线性表_环形单链表的约瑟夫问题_代码实现 |
32_第二章_线性表_单链表的反转_思路分析 |
33_第二章_线性表_单链表的反转_代码实现 |
另附各章节课程资料