
学习笔记
小小浣熊
Don't be shy, just try!
I enjoy losing face.
展开
-
第四章--递归式
刚开始看这一章自己还是很难定下心来看的,这章感觉关于数学的推导和证明比较多,自己数学这方面又不是很感兴趣,但是还是慢慢的啃完了这章,针对解递归的是三种方法,自己觉得目前还是主方法比较有用吧,也比较 好用。对代换法和递归树法,感觉有点抽象,还需要以后更多的经验再来看看吧。代换法:首先我们要猜测一个界的存在,然后用的是数学归纳法去证明该猜测的正确性。特点:代换法当归纳假设用较小原创 2013-06-09 21:01:29 · 873 阅读 · 0 评论 -
Dagger2 学习笔记 Module使用和理解
上一篇结尾说道如果有参数的调用应该是怎么来写呢?最后的报错说明一个类的构造好函数只有一个被@Inject标注前面说过@Module:@Module用于封装提供依赖的类。为什么需要专门提供这个注解,因为在很多情况下,我们需要注入的类是第三方类库,我们无法再构造函数直接加@Inject注解,还有一个问题就是如果有多个构造函数的问题,Module封装依赖就是为了解决这些问题。这里我们就需要使用Modul...原创 2018-06-04 18:54:26 · 1441 阅读 · 0 评论 -
Android 静态广播和动态广播接收顺序
之前记得专门看了一下动态广播和静态广播的接收顺序,但是没想到被别人问的时候一口说错了,看来必须得理解了才能记住! 看到知乎上面有人的回答自己也就顺便看了下ActivityManagerService源码broadcastIntentLocked方法: 主要有下面几部分:1.处理粘性广播 if (sticky) { ......权限检原创 2016-04-15 23:05:02 · 1217 阅读 · 0 评论 -
Imageloder 源码阅读笔记
上次使用imageloader的时候出现了一个问题就是图片加载的时候回出现闪一下默认图的问题,刚开始以为是adapterd的问题,最后发现是需要cacheInMemory中才好,所以就花了点时间把源码大概看了一下。1. 要使用imgeloader首要要使用一个ImageLoaderConfiguration这个类来初始化imageLoader,这个变量主要是用来设置缓存大小,缓存策原创 2016-01-12 23:32:14 · 468 阅读 · 0 评论 -
android 水平进度条 背景设置问题
<ProgressBar android:id="@+id/storage_progress" style="@android:style/Widget.ProgressBar.Horizontal" android:layout_width="fill_parent" android:layout_height="w原创 2015-01-09 14:11:40 · 1025 阅读 · 0 评论 -
O(n) 求 最长回文子串
转自:http://bbs.dlut.edu.cn/bbstcon.php?board=Competition&gid=23474 其实原文说得是比较清楚的,只是英文的,我这里写一份中文的吧。 首先:大家都知道什么叫回文串吧,这个算法要解决的就是一个字符串中最长的回文子串有多长。这个算法可以在O(n)的时间复杂度内既线性时间复杂度的情况下,求出以每个字符为中心的最长回文有多转载 2014-04-12 15:49:23 · 626 阅读 · 0 评论 -
编程之美——发帖水王
问题是,在论坛上一个人非常喜欢发帖,且他发的帖子数目超过了帖子总数的一半,要想快速的找出这个ID,怎么办? 首先可以先把所有帖子按ID进行排序,把排序结果存进数组里面,然后直接索引N/2即可得到那个ID。时间复杂度是n*logn.还可以从另外一个角度来看这个题,因为他的帖子数目超过了总数的一半,因此,每次删除两个不同的ID,最后剩下的一定是那个人的ID。 这里主原创 2014-03-24 10:20:28 · 714 阅读 · 0 评论 -
求N!的二进制表示中最低位1的位置
判断一个二进制中最后一位是否为0,可以把这个二进制除以2,如果结果为0则把这个数向右移动了一位,否则说明这个数最后一位为1,无法整除2,。所以这个问题可以变为N!中质因数2个个数,一个二相当于使其向左移动一位,非2的倍数相乘最后一位是1不变,因此只要判断里面质因数2的个数就可以了,其他不用管。而N!中 1~N中能被2整除的N/2,能被4整除的N/4,能被8整除原创 2014-03-24 09:34:05 · 1207 阅读 · 0 评论 -
编程之美————24点游戏算法
一,概述 二十四点是一种益智游戏,它能在游戏中锻炼人们的心算,它往往要求人们将四个数字进行加减乘除(允许使用括号)求得二十四。然后将四个数字的计算公式表示出来。二,中缀表达式求解 最直接的方法就是采用穷举法,游戏中可用的运算符只有四种,四个数字每个只能使用一次。 1)不考虑括号情况转载 2014-03-20 17:04:58 · 2331 阅读 · 0 评论 -
二叉线索树,寻找前驱与后继
寻找前驱: 由二叉线索树的性质可得,当其Ltag=1时表示其lchild中保存的是前驱,否则保存的是link所以对于结点P,当p->ltag=1,则p->lchild直接表示的是前驱,否则说明他有左子树,按照中序遍历的规则,只有当左子树遍历完才遍历它,因此其前驱应该是左子树的最右下端结点。BiTNode * Inpre(BiTNode *p){ //在中序遍历中寻找前原创 2014-03-29 11:03:16 · 1328 阅读 · 1 评论 -
编程之美——寻找满足条件的整数
题目:给定一个正整数N,求一个最小的正整数M(M>1),是的M*N的十进制表示中只含有1和0,分析可以得到,满足十进制表示中只含有0和1的数:1,10,11,100,101,110,111……所以可以依次用这些数做测试代码来自:点击打开链接#define _CRT_SECURE_NO_WARNINGS 1#include #include using原创 2014-03-27 19:04:23 · 735 阅读 · 0 评论 -
第八章——线性时间排序
这章刚开始证明了基于比较的排序的算法在最坏情况下,都需要做nlgn次比较。由此可以推出合并排序快速排序都是渐进最优的比较排序算法。线性时间排序:1.计数排序计数排序假设N个输入元素中的每一个都是介于0~k之间的整数,此处K为某个整数。当k=O(n)时,计数排序的运行时间为O(n)。计数排序的思想是对每个元素x找出小于x的元素个数,有了这个信息最后把它直接插入到最终输原创 2013-06-24 19:01:13 · 674 阅读 · 0 评论 -
《算法导论》学习笔记
都大三了,才谈学习,虽然现在有点晚了,自己大学就这大三过的还算忙忙碌碌,有点收获,其他都已经逝去了,马上就要找工作了,自己虽然对数学这方面不太感兴趣,但是一直觉得算法才是编程的精华,一直想学习,现在就趁这段时间,从算法导论学起,开始我的算法学习之路吧。以前一直觉得把时间花在写这些东西上面实在有点浪费时间,但是慢慢觉得,还是老话说的好,好记性不如烂笔头,自己本来记忆力就一般,想了想 还是写下自己原创 2013-06-08 12:10:59 · 615 阅读 · 0 评论 -
第七章--快速排序
快速排序也是基于分治策略的,每步确定一个元素把他放到合适的位置,使它之前的都小于他使它之后的都大于它,然后继续对其进行递归调用,当最后只有一个元素时就是有序的:实现代码:// quickSort.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include using namespace std;#define MAX 10vo原创 2013-06-16 19:33:42 · 643 阅读 · 0 评论 -
第六章--堆排序
首先是构造最大堆(最小堆,排序结果刚好相反具体有一些改动)书中证明了从第N/2开始即可构造出最大堆void max_heap(int a[],int i){ int l=2*i+1,r=2*i+2,largest; if(la[i])//在左右子节点和本身中找到最大的作为跟节点 { largest=l; } else { largest=i; } if(ra[larges原创 2013-06-16 11:30:05 · 578 阅读 · 0 评论 -
第五章——《概率分析与随机算法》
这章看得稀里糊涂的,自己感觉没弄懂,去网上看了看别人写的博客。觉得人家写的很好,自己看着有点豁然开朗的感觉。下面我附上人家的链接地址: 点击打开链接我自己也就按着人家的思路写写吧,主要算是让自己能够更好的理解这里的内容这一章是是从雇佣问题开始的:假设要雇佣一名新的助理,然后要面试每个人要花费一笔费用,雇佣助理要话更多的钱,假设当前你面试的应聘者比当前助理优秀,你原创 2013-06-12 16:21:42 · 823 阅读 · 0 评论