Content
13 Lessons • 0 Quizzes • 0 Challenges
算法入门
- 1
什么是算法,以及你为什么要关心它?
- 2
猜数字游戏
- 3
路径查找
二分查找
- 1
二分查找
- 2
实现数组的二分查找
- 3
挑战:二分查找
- 4
二分查找的运行时间
- 5
测验:二分查找的运行时间
渐近分析
- 1
渐近符号简介
- 2
大Θ(大Theta)表示法
- 3
渐近符号中的函数
- 4
大O表示法
- 5
大Ω(大欧米茄)表示法
- 6
测验:渐近符号
选择排序
- 1
排序
- 2
挑战:实现交换操作
- 3
选择排序伪代码
- 4
挑战:在子数组中查找最小值
- 5
挑战:实现选择排序
- 6
选择排序分析
插入排序
- 1
插入排序
- 2
挑战:按排序顺序在指定索引前插入一个值
- 3
插入排序伪代码: ``` 算法:插入排序 (InsertionSort) 输入:数组 A,长度为 n 输出:按升序排列的数组 A 1. 对于 i 从 1 到 n-1 执行以下操作: a. 设置 key = A[i] b. 设置 j = i - 1 c. 当 j >= 0 且 A[j] > key 时执行: i. 将 A[j + 1] = A[j] ii. j = j - 1 d. 将 A[j + 1] = key 2. 返回排序后的数组 A ```
- 4
挑战:实现插入排序
- 5
插入排序分析
递归算法
- 1
递归
- 2
阶乘函数
- 3
挑战:迭代阶乘
- 4
递归阶乘
- 5
挑战:递归阶乘
- 6
递归算法的特性
- 7
使用递归判断一个单词是否为回文
- 8
挑战:一个字符串是否是回文?
- 9
计算一个数的幂
- 10
挑战:递归幂运算
- 11
谢尔宾斯基三角形
汉诺塔
- 1
汉诺塔
- 2
汉诺塔问题中移动三块盘子
- 3
汉诺塔问题(续)
- 4
挑战:使用递归解决汉诺塔问题
归并排序
- 1
分治算法
- 2
归并排序概述
- 3
归并排序的完整实现
- 4
线性时间合并
- 5
挑战:实现归并
- 6
归并排序分析
快速排序
- 1
快速排序概述
- 2
挑战:实现快速排序
- 3
线性时间分区
- 4
挑战:实现分区
- 5
快速排序分析
图
- 1
描述图
- 2
图的表示
- 3
挑战:存储图
广度优先搜索
- 1
广度优先搜索及其应用
- 2
广度优先搜索算法
- 3
挑战:实现广度优先搜索
- 4
广度优先搜索的分析
许可证
- 1
为何移植这门课程
- 2
许可证
非比较排序算法
- 1
计数排序(概念)
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Course Author:Anonymous User