值不值得学:这门课解决什么问题
数据结构和算法是很多上班族和转行者的痛点。平时写业务代码增删改查够用,可一旦遇到性能优化、复杂业务逻辑设计,或者准备技术面试,就会发现自己底层功底不足。这门以 Java 为载体的课程,核心解决的就是“知道有这个东西,但不会手写、不会算复杂度”的问题。它不教框架和中间件,而是把顺序表、链表等基础结构拆开揉碎,带你从零开始自己动手实现。如果你写 Java 但没系统学过底层,或者转行过来总觉得基础发虚,这门课能帮你把这块短板补上。
适合什么基础与建议先看哪几块
这门课要求你具备 Java 基础语法能力,能看懂类、方法、泛型,但不要求你有多深厚的工程经验。课程从最基本的时间空间复杂度和大 O 计数法讲起,这对零基础学算法的人很友好。建议先集中看前半部分的复杂度分析,建立评估算法好坏的标尺;接着直接进入线性结构和顺序表的实现部分。这两块是整门课的地基,搞懂了怎么手动扩容、怎么处理泛型,后面的链表实战学起来会顺畅很多。不要一上来就死磕复杂的非线性结构,先把线性表吃透。
学完能做什么与资料怎么配合练习
学完后,你能独立手写常见的线性数据结构,理解它们底层的运转逻辑,并能在实际工作中根据场景选择合适的结构。比如写一个课程信息管理模块时,你会清楚什么时候该用顺序表,什么时候该换链表,以及为什么这么选。配合资料练习时,建议不要只看视频图解,必须自己打开编辑器敲代码。每学完一个结构的实现,先暂停视频,自己默写一遍增删改查逻辑,跑通后再对照课程里的写法查漏补缺。手写实现是这门课的核心,光看不练等于没学。
全新录制,采用编程语言java,从0到1讲解数据结构与算法核心知识体系,从算法的时间空间复杂度开始引入到掌握并手写多种常见的数据结构与算法内容。 通过图解更具体
课程目录
* 数据结构与算法专题课程介绍/
* 数据结构与算法专题课程介绍
* 为什么要学习数据结构与算法,学完到底有没有用?
* 初识数据结构与算法的时间空间复杂度/
* 关于数据结构与算法的概念你了解多少?
* 算法分析之时间复杂度
* 使用大O计数法表示时间复杂度
* 举几个例子常见算法问题
* 线性结构与非线性结构
* 线性结构与顺序表功能实现/
* 线性表的基本概念你了解多少?
* 顺序表简介初始化和判空判满功能实现
* 顺序表实现之指定位置数据的增加与遍历操作
* 顺序表实现删除指定位置的元素与修改操作
* 顺序表实现扩容操作
* 顺序表使用泛型适应多种类型数据
* 链表实战篇课程信息管理实现/
* 链表入门篇相关概念与单链表讲解
* 单向链表的增加与遍历节点演示
* 链表之单向链表实现删除与修改节点
* 链表实现查找倒数第K个课程
* 链表进阶之实现双向链表的增加与遍历
* 双向链表实战删除与修改课程
* 队列与栈实战篇/
* 顺序队列的基本概念与应用场景
* 顺序队列实战完成初始化判空判满功能
* 顺序队列实战完成入队出队与展示队元素功能
* 顺序栈的基本概念与应用场景介绍
* 顺序栈初始化与判空判满
* 顺序栈的压栈与出栈
* 排序算法实战实现常见排序算法/
* 常用排序算法简介
* 冒泡排序的实现思路讲解
* 冒泡排序实战
* 选择排序的实现思路讲解
* 选择排序实战
* 插入排序的实现思路讲解
* 插入排序实战
* 快速排序前置知识递归的基本概念
* 快速排序的实现思路讲解
* 快速排序实现
* 查找算法实战篇实现常用查找算法/
* 常见的查找算法的介绍
* 线性查找算法详细介绍与实战
* 二分查找算法详细介绍与代码实现
* 插值查找算法的介绍与实现
* 哈希表实战篇实现课程快速查找/
* 哈希表使用场景与详细介绍
* 哈希表的初始化与相关功能规划
* 哈希表实现课程的插入操作
* 哈希表实现课程的遍历输出
* 哈希表实现根据对应ID快速找到对应课程信息
* 树的相关概念与二叉树实战篇/
* 树的基本概念
* 二叉树的基本概念
* 二叉排序树代码实现
* 二叉树的前中后序遍历详解
* 二叉树的前中后序遍历实战
* 二叉树编码实现查找节点相关信息
* 二叉树编码实现二叉树的最大深度求解
* 小试牛刀-Leetcode刷题体验篇/
* 暴力枚举法-梦开始的地方两数之和
* 哈希法-两数之和的另一种解决方式
* 暴力解法-移除数组中的目标元素
* 双指针-快慢指针法移除数组中的目标元素
* 字符的玩法-解决赎金信中字符匹配问题
* 双指针字符串的操作-反转字符串
* 数据结构与算法专题课程总结/
* 数据结构与算法专题课程总结
* 数据结构与算法专题课程未来规划-算法进阶训练营






