Logo
☆☆☆☆☆
0.0
Beginner
55h

Go语言中的数据结构与算法

数据结构与算法是计算机科学的核心概念,尤其在软件开发中至关重要。日志记录、数据转换与分析,既是实际应用中的关键技能,也是编程面试的重点内容。 本课程以 Go 编程语言为实践载体,深入讲解数据结构与算法的具体应用。你将从数组、栈、队列、哈希表和树等基础数据结构开始学习,随后掌握贪心算法和动态规划等常见数据处理技术。每个环节都将结合时间复杂度分析、动手编程练习以及对核心原理的详细解释,帮助你深入理解实现细节。 完成本课程后,你将能够熟练运用 Go 语言中的计算机编程基础,自信地解决各类实际问题。

11 Lessons
Included in Subscription Plan
Personalized Learning
Powered by AI
Go语言中的数据结构与算法
数据结构与算法是计算机科学的核心概念,尤其在软件开发中至关重要。日志记录、数据转换与分析,既是实际应用中的关键技能,也是编程面试的重点内容。 本课程以 Go 编程语言为实践载体,深入讲解数据结构与算法的具体应用。你将从数组、栈、队列、哈希表和树等基础数据结构开始学习,随后掌握贪心算法和动态规划等常...

WHAT YOU'LL LEARN

深入理解 Go 语言中的基本数据结构与算法

TAKEAWAY SKILLS

Go
Programming Language
Data Structures
Algorithms

Content

11 Lessons • 0 Quizzes • 0 Challenges

开始学习
  1. 1

    谁应该学习这门课程,以及为什么?

时间复杂度
  1. 1

    简介与渐近分析

  2. 2

    大O符号、Ω符号和Θ符号

  3. 3

    算法复杂度分析

  4. 4

    时间复杂度顺序

  5. 5

    推导算法的运行时间函数

  6. 6

    与时间复杂度相关的示例

  7. 7

    主定理

  8. 8

    主定理示例

  9. 9

    测验

数组
  1. 1

    挑战:数组求和

  2. 2

    解决方案回顾:数组求和

  3. 3

    挑战:顺序查找

  4. 4

    解法回顾:顺序查找

  5. 5

    挑战:二分查找

  6. 6

    解法回顾:二分查找

  7. 7

    挑战:寻找最大和子数组

  8. 8

    解决方案回顾:寻找最大和子数组

  9. 9

    挑战:将数组向左旋转 k 个位置

  10. 10

    解决方案回顾:将数组向左旋转 k 个位置

  11. 11

    挑战:数组波形

  12. 12

    解决方案回顾:数组波形

  13. 13

    挑战:索引数组

  14. 14

    解答回顾:索引数组

  15. 15

    挑战:从 1 到 n 的排序

  16. 16

    解决方案回顾:从 1 到 n 的排序

  17. 17

    挑战:找出最小的缺失正整数

  18. 18

    解决方案回顾:最小的缺失正整数

  19. 19

    挑战:将数组重排为最大-最小形式

  20. 20

    解答回顾:将数组重排为最大-最小形式

  21. 21

    挑战:数组索引最大差值

  22. 22

    解决方案回顾:数组索引最大差值

  23. 23

    测验:数组

递归函数
  1. 1

    递归函数

  2. 2

    挑战:阶乘

  3. 3

    解法回顾:阶乘

  4. 4

    挑战:打印十六进制整数

  5. 5

    解决方案回顾:打印十六进制整数

  6. 6

    挑战:最大公约数

  7. 7

    解法回顾:最大公约数

  8. 8

    挑战:斐波那契数列

  9. 9

    解决方案回顾:斐波那契数列

  10. 10

    挑战:整数列表的所有排列

  11. 11

    解法回顾:整数列表的所有排列

  12. 12

    挑战:汉诺塔

  13. 13

    解法回顾:汉诺塔

  14. 14

    测验:递归

解决算法设计问题的方法
  1. 1

    介绍与约束

  2. 2

    想法生成

  3. 3

    复杂度、编码与测试

  4. 4

    示例与总结

Go语言中的数据结构
  1. 1

    抽象数据类型

  2. 2

    Go 集合框架

  3. 3

    栈

  4. 4

    队列

  5. 5

    树

  6. 6

    优先队列 / 堆

  7. 7

    哈希表

  8. 8

    字典

  9. 9

    集合与计数器

  10. 10

    符号表

  11. 11

    图

排序
  1. 1

    简介

  2. 2

    排序算法

  3. 3

    冒泡排序

  4. 4

    改进的冒泡排序

  5. 5

    插入排序

  6. 6

    选择排序

  7. 7

    归并排序

  8. 8

    快速排序

  9. 9

    快速选择

  10. 10

    计数排序

  11. 11

    外部排序(外部归并排序)

  12. 12

    稳定排序

  13. 13

    选择最佳排序算法

  14. 14

    挑战:0 和 1 的分区

  15. 15

    解决方案回顾:0 和 1 的分区问题

  16. 16

    挑战:对 0、1 和 2 进行分组

  17. 17

    解决方案回顾:0、1、2 的划分

栈
  1. 1

    栈简介

  2. 2

    栈抽象数据类型

  3. 3

    挑战:使用数组实现栈

  4. 4

    解决方案回顾:使用数组实现栈

  5. 5

    挑战:使用链表实现栈

  6. 6

    解决方案回顾:使用链表实现栈

  7. 7

    系统栈与方法调用

  8. 8

    挑战:有序插入

  9. 9

    解决方案回顾:有序插入

  10. 10

    挑战:排序栈

  11. 11

    解决方案回顾:栈排序

  12. 12

    挑战:在底部插入

  13. 13

    解决方案回顾:底部插入

  14. 14

    挑战:反转栈

  15. 15

    解答回顾:反转栈

  16. 16

    挑战:反转栈中的 k 个元素

  17. 17

    解决方案回顾:反转栈中的 k 个元素

  18. 18

    挑战:括号匹配

  19. 19

    解法回顾:括号匹配

  20. 20

    挑战:最小栈

  21. 21

    解决方案回顾:最小栈

  22. 22

    挑战:最大括号嵌套深度

  23. 23

    解法回顾:最大括号嵌套深度

  24. 24

    挑战:最长连续平衡括号

  25. 25

    解法回顾:最长连续平衡括号

  26. 26

    挑战:反转括号

  27. 27

    解法回顾:反转括号

  28. 28

    挑战:查找重复的括号

  29. 29

    解法回顾:查找重复的括号

  30. 30

    挑战:打印括号编号

  31. 31

    解法回顾:打印括号数

  32. 32

    中缀、前缀和后缀表达式

  33. 33

    挑战:中缀转后缀表达式转换

  34. 34

    解答回顾:中缀转后缀表达式转换

  35. 35

    挑战:中缀转前缀转换

  36. 36

    解答回顾:中缀转前缀转换

队列
  1. 1

    队列简介

  2. 2

    使用数组实现队列

  3. 3

    使用链表实现队列

  4. 4

    使用循环链表实现队列

  5. 5

    使用双向链表实现队列

  6. 6

    挑战:使用栈实现队列

  7. 7

    解决方案回顾:使用栈实现队列

  8. 8

    挑战:反转队列

  9. 9

    解法回顾:反转队列

  10. 10

    挑战:在队列中反转前 k 个元素

  11. 11

    解法回顾:在队列中反转 k 个元素

树
  1. 1

    树结构简介

  2. 2

    树的类型

  3. 3

    二叉树简介

  4. 4

    挑战:创建一个完全二叉树

  5. 5

    解法回顾:创建一个完全二叉树

  6. 6

    挑战:打印前序遍历

  7. 7

    解决方案回顾:打印前序遍历

  8. 8

    挑战:打印后序遍历

  9. 9

    解法回顾:打印后序遍历

  10. 10

    挑战:打印中序遍历

  11. 11

    解决方案回顾:打印中序遍历

  12. 12

    挑战:按层序遍历打印二叉树

  13. 13

    解决方案回顾:打印层序遍历

  14. 14

    挑战:非递归方式打印深度优先遍历

  15. 15

    解法回顾:不使用递归实现深度优先遍历打印

  16. 16

    挑战:使用两个队列逐行打印层序遍历结果

  17. 17

    解法回顾:使用两个队列逐行打印层序遍历结果

  18. 18

    挑战:使用队列逐行按层序打印一棵树

  19. 19

    解法回顾:使用单个队列逐行打印层序遍历结果

  20. 20

    挑战:打印螺旋树

  21. 21

    解决方案回顾:打印螺旋树

  22. 22

    挑战:第 n 个前序遍历节点

  23. 23

    解决方案回顾:第 n 个前序遍历节点

  24. 24

    挑战:第 n 个后序遍历节点

  25. 25

    解决方案回顾:第 n 个后序遍历节点

  26. 26

    挑战:第 n 个中序遍历节点

  27. 27

    解决方案回顾:中序遍历的第 n 个节点

  28. 28

    挑战:打印所有路径

  29. 29

    解决方案回顾:打印所有路径

  30. 30

    挑战:元素的数量

  31. 31

    解答回顾:元素的数量

  32. 32

    挑战:二叉树中所有节点的和

  33. 33

    解法回顾:二叉树中所有节点的和

  34. 34

    挑战:找出叶节点的数量

  35. 35

    解法回顾:求叶子节点的数量

  36. 36

    挑战:二叉树中满节点的个数

  37. 37

    解法回顾:二叉树中满节点的数量

  38. 38

    挑战:在二叉树中搜索指定值

  39. 39

    解决方案回顾:在二叉树中搜索值

  40. 40

    挑战:在二叉树中查找最大值

  41. 41

    解决方案回顾:在二叉树中查找最大值

  42. 42

    挑战:树的深度

  43. 43

    解法回顾:树的深度

  44. 44

    挑战:相同的树

  45. 45

    解法回顾:相同的树

  46. 46

    挑战:复制二叉树

  47. 47

    解决方案回顾:复制二叉树

  48. 48

    挑战:复制镜像树

  49. 49

    解决方案回顾:复制镜像树

  50. 50

    挑战:释放树

  51. 51

    解决方案回顾:自由树

  52. 52

    挑战:使用队列检查树的完整性

  53. 53

    解法回顾:使用队列检查树的完整性

  54. 54

    挑战:使用递归检查树的完整性

  55. 55

    解法回顾:使用递归检查二叉树的完整性

  56. 56

    挑战:判断树是否为堆?

  57. 57

    解法回顾:判断树是否为堆

  58. 58

    挑战:使用递归将树转换为列表

  59. 59

    解法回顾:使用递归将树转换为列表

二叉搜索树
  1. 1

    二叉搜索树(BST)简介

  2. 2

    挑战:从有序列表创建二叉搜索树

  3. 3

    解法回顾:从有序列表创建二叉搜索树

  4. 4

    挑战:插入操作

  5. 5

    解答回顾:插入操作

  6. 6

    挑战:查找节点

  7. 7

    解法回顾:查找节点

  8. 8

    挑战:查找最小值

  9. 9

    解法回顾:查找最小值

  10. 10

    挑战:查找最大值

  11. 11

    解决方案回顾:查找最大值

  12. 12

    挑战:它是二叉搜索树吗?

  13. 13

    解法回顾:它是二叉搜索树吗?

  14. 14

    挑战:删除节点

  15. 15

    解答回顾:删除节点

  16. 16

    挑战:最近公共祖先

  17. 17

    解法回顾:最近公共祖先

  18. 18

    挑战:打印指定范围内的树节点

  19. 19

    解决方案回顾:打印指定范围内的树节点

  20. 20

    挑战:裁剪范围外的树节点

  21. 21

    解决方案回顾:裁剪二叉搜索树中范围外的节点

  22. 22

    挑战:在二叉搜索树(BST)中查找上界和下界值

  23. 23

    解法回顾:在二叉搜索树中查找上界和下界值

  24. 24

    挑战:这是否是一个BST数组?

  25. 25

    题解回顾:它是一个BST数组吗?

Certificate of Completion

Showcase your accomplishment by sharing your certificate of completion.

Course Author:Anonymous User

Reviews

Read reviews from students who have taken this course and share your own experience.

Reviews & Comments (0)