算法学习
FishSeeker
这个作者很懒,什么都没留下…
展开
-
剑指offer 12:矩阵中的路径
回溯法经典题目原创 2020-03-04 09:57:59 · 298 阅读 · 0 评论 -
剑指offer 33:二叉搜索树的后序遍历序列
和根节点做比较,找到左子树和右子树原创 2020-01-06 21:07:53 · 243 阅读 · 0 评论 -
剑指offer 30:包含min函数的栈
题意定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。思路常规思路的问题:如果每次push对栈排序,让整个栈保持有序状态,实际上已经破坏了栈这个结构,而且复杂度肯定不是O(1)如果用一个变量记录最小值,当这个最小值被pop出去后,找不到次小值。当然你也可以找个变量存次小值,这样的问题是第三小的值你还得找个变量存,无穷尽也。因此,提...原创 2020-01-04 16:59:48 · 234 阅读 · 0 评论 -
剑指offer 23:链表中环的入口节点
思路很巧妙原创 2020-01-03 20:42:55 · 207 阅读 · 0 评论 -
剑指offer 19:正则表达式匹配
递归就很有趣,状态机什么的也很有趣。原创 2020-01-03 16:48:52 · 197 阅读 · 0 评论 -
剑指offer 17:打印从1到最大的n位数
利用全排列的思想,把每一位都的所有情况利用递归的方式列举出来.原创 2020-01-02 20:24:12 · 204 阅读 · 0 评论 -
剑指offer 7:重建二叉树
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字原创 2019-12-20 09:52:59 · 220 阅读 · 2 评论 -
Andrew Ng的机器学习课程概述(三)
无监督的机器学习和大规模的机器学习,并有个文字识别的实例。最后是课程链接原创 2017-04-01 11:26:32 · 753 阅读 · 0 评论 -
爬虫入门实战课
写在最前通过爬虫,可以搜集互联网上很多信息,有助于科研(比如爬个会议的网站之类的),因此想以应用带动一下学习,因此就有了这个小练手。原创 2017-05-09 15:12:27 · 1486 阅读 · 2 评论 -
Andrew Ng的机器学习课程概述(二)
主要算法是神经网络和svm,并且有一些特殊的优化技巧原创 2017-04-01 11:26:13 · 783 阅读 · 1 评论 -
Andrew Ng的机器学习课程概述(一)
Andrew Ng的机器学习神课的概要笔记,最后有课程的下载链接。前六章的内容,主要是机器学习的一些基本概念和第一个重要模型:线性回归原创 2017-03-30 09:59:22 · 1233 阅读 · 3 评论 -
Tarjan算法(求强连通分量)
转载自:http://blog.csdn.net/lishuhuakai/article/details/50346129在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图,称为强连通分量(strongly connected compon转载 2016-03-27 16:52:50 · 1641 阅读 · 2 评论 -
SPFA算法(求最短路径)
出处:网上太多了,我也不造是谁原创的,不过还是感谢原创作者。适用范围:给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman-Ford算法的复杂度又过高,SPFA算法便派上用场了。 我们约定有向加权图G不存在负权回路,即最短路径一定存在。当然,我们可以在执行该算法前做一次拓扑排序,以判断是否存在负权回路,但这不是我们讨论的重点。算法思想:我们用数组转载 2016-03-27 16:58:59 · 865 阅读 · 0 评论 -
CCF 命令行选项
怎么说呢,遇到两道想不出来怎么错的都是模拟题。我真心已经尽力了,但是集合竞价一直30分而命令行选项则是无情的鸭蛋。我真的不明白是哪里错的,我对照了AC答案,自己写了生成随机测试数据的程序,随机出了100组,然后输出对比,我的程序和AC代码是一模一样的输出。而且,再怎么说你倒是给我点分啊,为毛一分都不给。下面是题意问题描述 请你写一个命令行分析程序,用以分析给定的命令行里包原创 2016-03-27 16:08:52 · 1617 阅读 · 0 评论 -
堆排序
今天学了个堆排序,学得有点郁闷,感觉反正挺乱的,然后自己看着大神的代码敲了敲,遇到好多问题,然后改过来了。不知道真正运用的时候能不能写得合格#include#define N 500using namespace std;int num[N];int n;//i就表示从i往下的,调整成一个堆 void DeleteHeap(int n,int i) { int j=2*i+1,t原创 2016-03-10 21:00:13 · 468 阅读 · 0 评论