- 单例模式
- 查找算法 :
- 二分查找算法O(logn)
- 线性查找法O(n)
- 排序算法 :
- (最差)冒泡排序==选择排序 时间复杂度: O(n*n)
- 快速排序 时间复杂度: O(n log n)
分治法+递归法 去比较实现
step1: 每一次从集合中随机选择一个数pivot, 将所有小的放pivot左, 大的放pivot右,
(具体操作就是左箭头向右移直到指向 不小于pivot的位置, 右箭头左移直到指向 不大于pivot的位置, 两者交换, 直到两个箭头指向同一个数, 让这个数与key交换, 完成一轮)
step2: 左边集合右边集合再递归
快速排序部分图解
- dfs算法
今日上网见到一则算法面试题, 颇像用于训练人工智能的
DFS算法: 从起始节点开始,沿着路径直到到达末端节点,然后回溯并探索下一个分支。这一过程持续进行,直到所有的节点都被访问为止。