价格: 19 学币

分类: None

发布时间: 2022年2月21日 20:20

最近更新: 2022年2月21日 20:20

资源类型: VIP

课程介绍

算法是程序的灵魂,为什么有些程序可以在海量数据计算时,依然保持高速计算,大家可能会说: 程序使用了内存计算框架(比如Spark)和缓存技术(比如Redis等),那再深入的思考一下,这些计算框架和缓存技术又是怎样被技术高手设计出来的呢? 拿实际工作经历来说, 在Unix下开发服务器程序,功能是要支持上千万人同时在线, 在上线前,做内测,一切OK,可上线后,服务器就支撑不住了, 公司的CTO对代码进行优化,再次上线,坚如磐石。那一瞬间,你就能感受到程序是有灵魂的,就是算法。如果你不想永远都是代码工人,那就花时间来研究下数据结构和算法吧. 本课程是使用Scala语言来讲解数据结构和算法,内容包括: 稀疏数组、单向队列、环形队列、单向链表、双向链表、环形链表、约瑟夫问题、栈、表达式的转换与求值、递归与回溯、迷宫问题、冒泡排序、选择排序、插入排序、快速排序、归并排序、排序速度分析、二分查找、散列、哈希表、二叉树、二叉树与数组转换、二叉排序树(BST)、其它二叉树介绍(AVL 线索二叉树 赫夫曼树)。通过学习,学员能掌握主流数据结构的实现机制,开阔编程思路,提高优化程序的能力。

视频目录

01.数据结构和算法基本介绍
02.数据结构和算法几个实际问题
03.稀疏数组介绍
04.稀疏数组压缩实现
05.稀疏数组解压实现
06.队列介绍
07.单向队列实现
08.单向队列问题分析
09.环形队列(1)
10.环形队列(2)
11.链表说明和应用场景
12.单向链表-人员管理系统说明
13.单向链表-添加和遍历
14.单向链表-有序插入节点
15.单向链表-修改节点
16.单向链表-删除节点
17.双向链表基本介绍
18.双向链表的实现
19.链表的经典应用-约瑟夫问题
20.约瑟夫问题-形成环形和遍历
21.约瑟夫问题-算法思路分析
22.约瑟夫问题-算法的实现
23.栈的基本介绍
24.栈的基本使用
25.使用栈计算表达式的思路
26.编写数栈和符号栈
27.完成单数表达式运算(1)
28.完成单数表达式运算(2)
29.完成多位数表达式运算
30.温故知新
31.递归的应用(迷宫回溯)
32.递归的机制分析
33.递归能解决的问题
34.迷宫解决思路和创建地图
35.递归回溯解决迷宫问题
36.迷宫问题小结
37.冒泡排序
38.选择排序分析和实现
39.插入排序的思路分析
40.插入排序的实现
41.快速排序思路分析
42.快速排序代码实现
43.归并排序的思路分析
44.归并排序的实现和分析
45.查找的基本介绍
46.二分查找实现和分析
47.二分查找大量相同值
48.二分查找的小结
49.哈希(散列)表的概述
50.哈希(散列)表实现机制分析
51.哈希(散列)表的添加
52.哈希(散列)表的遍历
53.哈希(散列)表的查找
54.哈希(散列)表的小结
55.二叉树能解决的问题
56.树常用术语
57.满二叉树和完全二叉树
58.二叉树的前序中序后序遍历
59.二叉树的前序中序后序查找
60.二叉树节点删除
61.二叉树节点删除扩展提示
62.顺序存储二叉树
63.二叉排序树的介绍
64.二叉排序树-创建和遍历
65.二叉排序树-检索父子节点
66.二叉排序树-删除叶子节点
67.二叉排序树-删除非叶子节点(1)
68.二叉排序树-删除非叶子节点(2)
69.二叉排序树-删除无父节点的节点
70.其它二叉树(AVL 赫夫曼树等)