工作后发现,大学计算机课程里面的树结构相当有用,很多现实中的东西把它看成树就容易理解多了。 大学舍友 最近和二叉树有关的代码频繁地打交道。由于函数的递归实现占用巨大的计算机运行时间(尤其是深层递归调用,存储函数参数的程序栈会占据很大的运行时间,参见图1),我的目的是将递归实现改为非递归的循环实现(以 ...
分类:
其他好文 时间:
2016-12-19 08:13:47
阅读次数:
226
任务调度 在企业级应用中,经常会制定一些“计划任务”,即在某个时间点做某件事情 核心是以时间为关注点,即在一个特定的时间点,系统执行指定的一个操作 任务调度涉及多线程并发、线程池维护、运行时间规则解析、运行现场的保护以恢复等方面 Quartz框架是一个开源的企业级任务调度服务,已经被作为任务调度的良 ...
分类:
编程语言 时间:
2016-12-18 15:22:50
阅读次数:
351
任务调度 在企业级应用中,经常会制定一些“计划任务”,即在某个时间点做某件事情 核心是以时间为关注点,即在一个特定的时间点,系统执行指定的一个操作 任务调度涉及多线程并发、线程池维护、运行时间规则解析、运行现场的保护以恢复等方面 Quartz框架是一个开源的企业级任务调度服务,已经被作为任务调度的良 ...
分类:
编程语言 时间:
2016-12-18 15:18:14
阅读次数:
342
任务调度 在企业级应用中,经常会制定一些“计划任务”,即在某个时间点做某件事情 核心是以时间为关注点,即在一个特定的时间点,系统执行指定的一个操作 任务调度涉及多线程并发、线程池维护、运行时间规则解析、运行现场的保护以恢复等方面 Quartz框架是一个开源的企业级任务调度服务,已经被作为任务调度的良 ...
分类:
编程语言 时间:
2016-12-18 11:59:03
阅读次数:
273
计数排序计数排序假设n个输入元素中的每一个都是0到k区间内的一个整数,其中k为某个整数。当k=O(n)时,排序的运行时间为@(n)计数排序的基本思想是: 对每一个输入元素x,确定小于x的元素个数。利用这个信息,就可以直接把x放到它在输出数组中的位置上了。 例如,如果有17个元素小于x,则x就应该在第 ...
分类:
编程语言 时间:
2016-12-17 11:09:47
阅读次数:
230
1. 1.1 1.2 2. 2.1 2.2 快速画出哈夫曼树/霍夫曼树/最优树 哈夫曼树(霍夫曼树)又称为最优二叉树. 一般用来减少程序整体运行时间,将权重大的放在前面。 下面我们以【5、8、4、11、9、13】为例来画出哈夫曼树(数字大小代码权重大小,越大的权重越大) 第一步:按从小到大排序。【5 ...
分类:
其他好文 时间:
2016-12-16 19:32:29
阅读次数:
209
0x00前言 最近在学习安卓安全,看到52破解上面有分析2014年阿里安全挑战赛的第二个crackme的文章。勾起了我的回忆,那是我第一次参加安全比赛,在安卓安全也没有做多深入的学习。第一题比较简单,直接在logcat里面就可以看到输出的信息,只要将数字和文字的关系对应关系搞明白就可以解出来。第二题 ...
分类:
移动开发 时间:
2016-12-16 14:49:41
阅读次数:
538
内核在微观上,把CPU的运行时间分成许多分,然后安排给各个进程轮流运行,造成宏观上所有的进程仿佛同时在执行。双核CPU,实际上最多只能有两个进程在同时运行,大家在top、vmstat命令里看到的正在运行的进程,并不是真的在占有着CPU哈。 所以,一些设计良好的高性能进程,比如nginx,都是实际上有 ...
分类:
编程语言 时间:
2016-12-15 01:03:10
阅读次数:
250
归并排序运行时间O(N log N),但是由于需要线性附加内存,所以很少用于主存排序。 算法核心在于以下三条语句,分治递归,分别对左半边和右半边的属组进行排序,然后把左右半边的属组一一进行比较放入数组 下面是代码,主要包括三个函数: ...
分类:
编程语言 时间:
2016-12-14 02:07:53
阅读次数:
237
快速排序,平均运行时间O(N log N),最坏运行时间O(N^2)。 我觉得先看Python版的快排算法(http://www.cnblogs.com/fcyworld/p/6160558.html)比较容易理解。 整体思路: 首先从数组中选出一个值pivot,然后依据这个值pivot,把数组分成 ...
分类:
其他好文 时间:
2016-12-14 01:30:25
阅读次数:
196