数据结构与算法是程序的灵魂,是朴素的基础,当今流行的WEB新时代,各种云概念,海量数据,百万用户并发等,最终都是数据结构与算法的比拼。因此作为当代程序员应该要学好、学博、学精。 本课程旨在培养计算机领域爱好者算法的思维和对数据结构的深入理解并能熟练应用,正所谓修炼好扎实的内功才能打出更花式的绝招。
目录:
数据结构与算法
【回放】红黑树结构详解(9月10日 20:00-20:30)
【回放】红黑树的构建与平衡算法详解(9月10日 20:30-21:00)
【回放】现场手写红黑树(9月10日 21:00-21:30)
【回放】如何快速掌握数据结构的精髓(9月10日 21:30-22:00)
【回放】索引数据结构红黑树,HASH,B+树详解(9月10日 22:00-22:30)
02
数据结构与算法入门基础
【回放】算法与数据结构基础知识(9月28日 20:00-20:30)
【回放】时间,空间复杂度(9月28日 20:30-21:00)
【回放】数据结构与算法的重要性(9月28日 21:00-22:00)
【资料】1. 数据结构与算法入门基础-赵云-9月28日(zip,1.5MB)
03
基础数据结构:数组&链表进阶(一)
【回放】数组:Vector,ArrayList(10月12日 20:00-21:00)
【回放】链表:单向链表(10月12日 21:00-22:00)
【回放】Java堆栈内存分析(10月19日 20:00-20:30)
【资料】2.数组&链表进阶(一)-赵云-10月12日(zip,589.4KB)
04
基础数据结构:数据&链表进阶(二)
【回放】双向链表,循环链表,静态链表及源码(10月19日 20:30-21:00)
【回放】链表以及数组多线程情况分析(10月19日 21:00-21:30)
【资料】3.数据&链表进阶(二)-赵云-10月19日(zip,751.5KB)
05
基础数据结构:栈
【回放】栈源码实现(10月22日 20:00-21:00)
【回放】栈的应用(10月22日 21:00-22:00)
【资料】4.基础数据结构:栈-赵云-10月22日(zip,733.8KB)
06
基础数据结构:队列
【回放】循环队列(10月26日 20:00-20:30)
【回放】优先队列(10月26日 20:30-21:00)
【回放】阻塞队列(10月26日 21:00-22:00)
【资料】5.基础数据结构:队列-赵云-10月26日(zip,711.3KB)
07
算法思想:数论&枚举&递归&分治&回溯
【回放】算法基础(10月29日 20:00-20:30)
【回放】算法思维(10月29日 20:30-21:00)
【回放】经典算法再现(10月29日 21:00-22:00)
【资料】6.数论&枚举&递归&分治&回溯-赵云-10月29日(zip,870.9KB)
08
算法思想:排序及其源码实现(一)
【回放】排序算法(11月2日 20:00-21:00)
【回放】经典排序源码实现:插入&希尔&归并(11月2日 21:00-22:00)
【资料】7.排序及其源码实现(一)-赵云-11月2日(zip,854.6KB)
09
算法思想:排序及其源码实现(二)
【回放】经典排序算法源码自实现:冒泡&选择&快排(11月5日 20:00-22:00)
【资料】8.排序及其源码实现(二)-赵云-11月5日(zip,794.4KB)
10
算法思想:贪2心&动态规划
【回放】贪2心算法(11月9日 20:00-21:00)
【回放】动态规划(11月9日 21:00-22:00)
【资料】9.贪2心&动态规划-赵云-11月9日(zip,6.2MB)
11
高级数据结构:树论基础&二叉树
【回放】树论基础(11月12日 20:00-20:30)
【回放】二叉树概念(11月12日 20:30-21:00)
【回放】树的遍历(11月12日 21:00-22:00)
【资料】10.树论基础&二叉树-赵云-11月12日(zip,830.7KB)
12
高级数据结构:二叉搜索树&红黑树
【回放】二叉搜索树(11月16日 20:00-21:00)
【回放】红黑树自平衡原理及实现(11月16日 21:00-22:00)
【资料】11.二叉搜索树&红黑树-赵云-11月16日(rar,1.9MB)
13
高级数据结构:BTree
【回放】BTree(11月19日 20:00-20:30)
【回放】B-Tree(11月19日 20:30-21:00)
【回放】B+Tree(11月19日 21:00-22:00)
【资料】12.高级数据结构:BTree-赵云-11月19日(rar,637.1KB)
14
高级数据结构:Trie树&赫夫曼树
【回放】字典树自实现(11月23日 20:00-21:00)
【回放】赫夫曼树自实现(11月23日 21:00-22:00)
【资料】13.Trie树&赫夫曼树-赵云-11月23日(rar,586.0KB)
15
高级数据结构:堆树
【回放】堆树的定义(11月30日 20:00-20:30)
【回放】最大堆(11月30日 20:30-21:00)
【回放】最小堆(11月30日 21:00-22:00)
【资料】14.高级数据结构:堆树-赵云-11月30日(rar,682.9KB)
16
高级数据结构:图论基础
【回放】图论基础(12月3日 20:00-20:30)
【回放】图论遍历:DFS&BFS(12月3日 20:30-21:00)
【资料】15.高级数据结构:图论基础-赵云-12月3日(rar,609.4KB)
17
高级数据结构:最短路径
【回放】迪杰斯特拉算法(12月3日 21:00-21:30)
【回放】弗洛伊德算法(12月3日 21:30-22:00)
【资料】16.高级数据结构:最短路径-赵云-12月3日(rar,916.3KB)
18
高效查找算法:二分&HashMap
【回放】Hash的原理(12月7日 20:00-21:00)
【回放】HashMap原理全方位解析(此视频作废)(12月7日 21:00-22:00)
【录播】HashMap原理全方位解析(70分钟)
【资料】17.二分&HashMap-赵云-12月7日(rar,529.0KB)
19
高效查找算法:ConcurrentHashMap&BitMap
【回放】ConcurrentHashMap原理分析(12月10日 20:00-21:00)
【回放】BitMap原理及实现(12月10日 21:00-22:00)
【资料】18.ConcurrentHashMap&BitMap-赵云-12月10(rar,591.1KB)
20
高效查找算法:HashSet&大数据处理算法BloomFilter
【回放】Set集合分析(12月14日 20:00-21:00)
【回放】大数据处理算法BloomFilter(12月14日 21:00-22:00)
【资料】19.Set&布隆过滤器-赵云-12月14日(rar,559.9KB)
21
索引技术:中文分词算法
【回放】中文分词介绍(12月17日 20:00-20:30)
【回放】中文分词算法分析(12月17日 20:30-21:00)
【回放】中文分词在文本处理中如何应用(12月17日 21:00-22:00)
【资料】20.索引技术:中文分词算法-赵云-12月17日(rar,1.7MB)
22
索引技术:Lucene
【回放】搜索引擎技术介绍(12月21日 20:00-21:00)
【回放】搜索引擎检索原理:Lucene详解(12月21日 21:00-22:00)
【资料】21.索引技术:Lucene-赵云-12月21日(rar,3.6MB)
23
索引技术:Lucene
【回放】搜索引擎技术介绍(12月24日 20:00-21:00)
【回放】搜索引擎检索原理:Lucene详解(12月24日 21:00-22:00)
24
算法总结
【回放】课程总结(12月28日 20:00-21:00)
【回放】在面试中碰到算法如何应对(12月28日 21:00-22:00)
有需要联系v;加客服窗口的联系方式
摘要:本文深入解析了《数据结构与算法》剑指Offer,通过ACM大牛的视角,全面介绍了数据结构与算法在编程面试中的应用,旨在帮助读者掌握核心算法,提升编程能力。
1、数据结构概述
数据结构是计算机科学中一个重要的基础概念,它描述了数据在计算机中的存储、组织、管理和访问方式。在编程面试中,掌握常见的数据结构对于解决算法问题至关重要。本文将详细介绍数组、链表、栈、队列、树、图等基本数据结构,并分析它们在算法中的应用。
数组是一种基本的数据结构,它使用连续的内存空间来存储元素,具有随机访问的特点。链表则通过指针连接各个节点,实现动态内存分配。栈和队列是特殊的线性表,分别遵循后进先出和先进先出的原则。树和图是更复杂的数据结构,它们在处理复杂关系和路径问题时具有重要作用。
了解这些数据结构的特点和适用场景,有助于我们在编程面试中快速定位问题,选择合适的数据结构来解决问题。
2、算法分析
算法是解决问题的步骤和方法,它描述了如何使用数据结构来解决问题。在编程面试中,算法分析是评估面试者能力的重要指标。本文将介绍常见的算法分析方法,如时间复杂度、空间复杂度、稳定性等,并分析不同算法的优缺点。
时间复杂度描述了算法执行时间与输入规模的关系,空间复杂度描述了算法执行过程中所需内存空间的大小。稳定性是指算法在处理相同输入时,输出结果的相对顺序保持不变。了解这些概念有助于我们更好地评估算法的性能。
此外,本文还将介绍一些经典的算法,如排序算法、查找算法、动态规划等,并分析它们在不同场景下的应用。
3、剑指Offer解析
《剑指Offer》是程序员面试宝典,其中包含了大量经典的面试题。本文将结合ACM大牛的视角,对《剑指Offer》中的部分题目进行解析,帮助读者掌握解题思路和方法。
例如,在解决“数组中重复的数字”问题时,我们可以使用哈希表来记录每个数字出现的次数,从而快速找出重复的数字。在解决“链表中倒数第k个节点”问题时,我们可以使用双指针技术,一个指针先走k步,然后两个指针同时移动,直到第一个指针到达链表末尾,此时第二个指针指向的节点即为倒数第k个节点。
通过解析这些题目,读者可以掌握解决类似问题的方法和技巧。
4、实战演练
为了帮助读者更好地掌握数据结构与算法,本文将提供一些实战演练题目,并给出相应的解题思路和代码实现。这些题目涵盖了各种数据结构和算法的应用场景,有助于读者巩固所学知识。
例如,在解决“合并两个有序链表”问题时,我们可以使用递归或迭代的方式来实现。递归方法利用链表的特性,将问题分解为更小的子问题;迭代方法则通过循环遍历链表来实现。通过实际操作,读者可以加深对数据结构和算法的理解。
总结:
本文从数据结构概述、算法分析、剑指Offer解析和实战演练四个方面,全面介绍了数据结构与算法在编程面试中的应用。通过学习本文,读者可以掌握核心算法,提升编程能力,为面试做好准备。
本文由nayona.cn整理
联系我们
关注公众号
微信扫一扫
支付宝扫一扫