- 博客(14)
- 资源 (4)
- 收藏
- 关注
原创 ThreadPoolExecutor源码阅读
1.线程池解决的问题线程池解决两个问题一是复用线程,减少创建销毁线程带来系统开销;二是限定系统资源使用边界,避免大量线程消耗尽系统内存适用于互不依赖,运行时间短,不需要对线程控制操作的线程2.ThreadPoolExecutor主流程添加任务时,1.若线程数量小于corePoolSize,则新增线程执行任务2.若线程数量大于等于corePoolSize且qu
2017-05-31 16:07:42
239
原创 5月5日阿里巴巴暑假实习研发试题回忆 个人解题思路
http://blog.csdn.net/tangchao52121/article/details/88870021,有一个数组a[1-n],试图找出i,j,k使得a[i]+a[j] = a[k],问最好的算法的算法复杂度是多少?思路:数组a[1-n]呈离散状态,先对数组排序,用快速排序排序a[1-n],得递增数组b[1-n],其算法时间复杂度为O(nlogn),个人找不出在递增数组中b
2013-05-06 14:49:41
904
原创 威佐夫(Wythoff)博弈
问题模型Wythoff博弈:有两堆石子,由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。问现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。 解题思路动态规划比较容易想到直接用博弈论的必败、必胜态进行动态规划:设两堆石
2013-04-27 16:33:23
1027
原创 排序与搜索算法
排序算法插入排序:基本思想是将下一输入插入到已排好的序列中。是一种在线算法,其算法复杂度为O(n2)。希尔排序:一种改进的插入排序算法,将序列按间隔距离d分组,对每组实施插入排序,逐渐减小间隔距离d来分组实施插入排序,最终d=1时,排序完成。是一种离线算法,算法复杂度为O(n2),但是相对于基本插入算法来说,会减少大量数据移动。冒泡排序:基本思想将序列从头到尾相邻逆序的两个数进行交换,
2013-04-23 12:16:29
715
原创 二叉查找树
定义: 二叉查找树是一种二叉树数据结构,其任意节点的值大于其左子树所有节点,且小于右子树所有节点。支持多种动态集合上的操作,主要有查找、最大值、最小值、前驱、后继、插入和删除,这些操作都可以在O(n )时间复杂度内完成,其中n为二叉树的高度。 操作: 查找:从根节点开始搜索,若查找值等于根节点值,则命中,若小于根节点值,则递归搜索左子树,否则递归搜索
2013-04-22 22:33:54
500
原创 最小堆(小根堆)
最小堆定义:完全二叉树,且其任意节点键值小于其左子树所有节点和右子树所有节点。堆顶总是保存堆的最小值。堆的表示:堆是完全二叉树,所以可以用数组表示堆。设数组heap[n]为堆,heap[1]表示根节点,对于除根节点外的任意节点heap[i],其父节点为heap[i/2],其左儿子为heap[i*2],右儿子为heap[i*2+1]。堆的操作:heapify(heap,i
2013-04-19 17:33:23
4990
原创 KMP算法
KMP算法由Knuth、Morris和Pratt同时提出线性时间匹配字符串的算法,其时间复杂度为O(n+m),其中n为被匹配字符串T长度,m为模式字符串P长度。 朴素字符串匹配算法时间复杂度为O((n-m+1)*m),不需要预处理时间,KMP算法利用在匹配过程中得到的信息可以避免不必要的比较,从而降低时间复杂度,但需要预处理模式字符串,其中预处理时间复杂度为O(m),匹配时间复杂度为O(
2013-04-18 16:07:11
598
转载 求解n的阶乘的十进制表示的最右非零位上的数字[转]
下面是算法说明如果用 C 表示 [n/5] + [n/25] + [n/125] + ..., 那么需要求的是下面的同余方程 n ! ≡ x * 10^c (mod 10^(c+1))的解 x , 0上面这个同余方程等价于下面的方程组 n! ≡ x * 5^c * 2^c (mod 2^(c+1)), n! ≡ x * 2^c *
2012-09-03 20:48:50
2176
原创 webkit 残影
在sh4平台上移植基于directfb平台的gtkwebkit,因应用需求设置网页背景为透明(webkit_web_view_set_transparent),但发现这样浏览器进行页面跳转时之前的网页痕迹会残留下来,进行多次页面跳转,网页显示基本上就花了,根本无法正常使用。蛋疼了很长的时间后发现原来是directfb配置有误导致了这个问题,因在directfbrc文件中设置了选项bg-none,从
2012-06-26 19:38:16
591
原创 交叉编译中pkg-config和libtool设置
1.pkg-config pkg-config工具方便了编译的头文件、库文件的路径设置,它利用pc文件保存头文件、库文件和库依赖的相关信息。 在交叉编译环境中,目标板的pc文件中保存的路径信息可能只是相对于目标板的根目录(nfs挂载目录)的路径,这样在主机端交叉编译时,pkg-config得到的路径无法正确定位到目标板上的交叉编译的库文件和头文件,编译无法正确进
2012-06-11 18:42:55
3701
原创 Fedora Samba配置问题
在Fedora 17配置samba服务器时,遇到纠结的问题:在将security模式设置为share,共享文件夹设置为可读写,并将访问用户映射为root,关闭了linux防火墙的情况下,访问共享目录居然仍拒绝写操作,后来无意中发现时selinux在其中作梗,一气之下禁用selinux,果然ok。
2012-06-04 23:44:34
677
汇编语言win32简单计算器源码
2009-12-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人