摘要:
今天,做LeetCode上的一道题,198题:Rob House,在纸上画了画,发现了重复的结构,就使用了递归的方式实现的 一开始,运行,不输出结果 我又重新思考了程序的逻辑,觉得没问题,所以想可能是编译的问题,因为,平时对于小程序,我不用IDE的,都是使用Sublime3编辑器的,我把sublim 阅读全文
摘要:
题目传送门: 题解: 代码,我起初是参考的github上的一个实现,一开始,对于递归过程不是特别理解,想着,应该是一种树形结构,就在原来代码的基础上适当的地方加上一些打印输出,理解了过程,我的代码如下: 打印输出结果如下: 阅读全文
摘要:
最近,因为校招找工作,就复习了机器学习的一些算法,就重新谢写了写,仿照scikit-learn 的模式写的,主要就包含,fit(),train_val_split(),predict(),score(),accuracy()等 由于时间原因,只是放了代码,不解释实现细节。如果以后有时间了,会补上.G 阅读全文
摘要:
欧阳说,“我们都是追求永恒的短命鬼。” 小何说,“我踏过了铁蹄的熔岩,心中奔淌着人间的溪流。” 是异曲同工的赤子之心,浪漫主义。 阅读全文
摘要:
最近,在复习机器学习的相关算法,按照原来的计划,现在,我应该完成了CS231n的学习和作业,可是因为一些不可抗原因,推迟了,最近整理复习,联想到,我之前的工作,我突然意识到,学习一种算法或理论,复现论文成果是一种非常好的学习方式,有点像一个闭环反馈系统,我学习了这种算法,尤其现在深度学习那么多论文出 阅读全文
摘要:
之前学习了数据结构,觉得快要找工作了,就想着把之前动手实现的一些数据结构和机器学习,深度学习(主要是计算机视觉的)东西整理下,上传,会对找工作有帮助吧,可偏偏小本本抗议了,烧坏了,我就不明白了,主板一些硬件烧了,怎么硬盘的东西会丢失呢?还不是全部丢失,丢失一部分,硬盘的读写并没有问题,系统有一点点小 阅读全文
摘要:
前面提到过,可以考虑倍增,这里就以容器vector的倍增为例,这也是《C++ primer》中提到过的倍增,并且测试了下时间,主要是验证时间时间复杂度问题 每次添加一个元素的时间复杂度是O(1),添加到n(假设初始容量是n)个元素的时候,需要倍增扩容同时将原来的数据拷贝到现在的新的数组中,那么前面n 阅读全文
摘要:
为什么引入索引堆 首先给定一个数组,通过heapify过程,将该数组构造成一个最大堆, 构建前和构建后,我们关注的数组,数组元素位置发生了改变,正式由于改变, 才可以仍然将数组看成堆,但是,我们这里是以整数为例的,改变过程无论是交换还是赋值操作都相对简单,但如果元素类型是字符串这样相对复杂的结构呢? 阅读全文
摘要:
堆和优先队列 普通队列:FIFO,LILO 优先队列:出队顺序和入队顺序无关,和优先级相关。一个典型应用就是操作系统中。动态选择优先级高的任务执行 堆的实现 最典型的堆就是二叉堆,就像是一颗二叉树。这个堆的特点,下图可以看出: 这里以最大堆为例,,每一个节点都不大于其父亲节点。另外,堆必须是一颗完全 阅读全文
摘要:
快速排序的思想 同归并排序一样,快速排序也是将要排序的数组一分为二,但是与快速排序不同的是,归并排序不考虑任何条件直接将数组一分为二,之后再利用归并过程排序,而快速排序首先从将要排序的数组中选择一个元素,以这个元素为基准,如图所示 这里是选择的数组首元素4,然后把4挪到它在排好序的数组中应该在的位置 阅读全文