回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。
回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。
回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。
回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。
本文主要参考自吴恩达Coursera深度学习课程 DeepLearning.ai 编程作业(1-4)
吴恩达Coursera课程 DeepLearning.ai 编程作业系列,本文为《神经网络与深度学习》部分的第四周“深层神经网络”的课程作业。
本节的主要内容是:利用之前实现的神经网络,来识别图片中的猫
本文主要参考自吴恩达Coursera深度学习课程 DeepLearning.ai 编程作业(1-4)
吴恩达Coursera课程 DeepLearning.ai 编程作业系列,本文为《神经网络与深度学习》部分的第四周“深层神经网络”的课程作业。
本节的主要内容是:实现L层的神经网络
首先完成一些helper function。然后再建立两层、多层神经网络:
本文主要参考自吴恩达Coursera深度学习课程 DeepLearning.ai 编程作业(1-3)
吴恩达Coursera课程 DeepLearning.ai 编程作业系列,本文为《神经网络与深度学习》部分的第三周“浅层神经网络”的课程作业。
本节的主要内容是:利用浅层神经网络实现平面数据分类
链表考点
知识点
入门题
1 | void print(){ |
答案:
1 | 1->2->3->null |
思路:
1 | 初始: |
一些题目 implement of ....
复习:
\[T(n) = T(\frac{n}{2}) + O(1) → O(logn)\]
\[T(n) = T(\frac{n}{2}) + O(n) → O(n)\]
** 问题1**
通过O(1)的时间,把n的问题,变为了两个n/2的问题,复杂度是多少?
\[T(n) = 2T(\frac{n}{2}) + O(1) → O(n)\]
解决:树型分析法
1 | n |
总复杂度:
\[O(1+2+4+....+2^k+...+\frac{n}{2})\tag{1}\]
设\(2^m = \frac{n}{2}\),则\(m=log(\frac{n}{2})=logn-log2=logn\)
则公式(1)等于:
\[O(2^0+2^1+2^2+....+2^{logn})\]
\[=O(\frac{a_1(1-q^n)}{1-q})=O(\frac{1-2^{logn}}{2-1})=O(n)\tag{结果}\]
# 二分查找
给一个已排序的数组,找到target的位置(第一个出现的、最后一个出现的、任意的)位置。如果没有target,返回-1
1 | target = 5 |
记了点自己有问题的题目