上一页 1 2 3 4 5 6 ··· 14 下一页
摘要: 本文主要解决一个问题,如何实现二叉树的前中后序遍历,有两个要求:1. O(1)空间复杂度,即只能使用常数空间;2. 二叉树的形状不能被破坏(中间过程允许改变其形状)。通常,实现二叉树的前序(preorder)、中序(inorder)、后序(postorder)遍历有两个常用的方法:一是递归(recursive),二是使用栈实现的迭代版本(stack+iterative)。这两种方法都是O(n)的空间复杂度(递归本身占用stack空间或者用户自定义的stack),所以不满足要求。(用这两种方法实现的中序遍历实现可以参考这里。)Morris Traversal方法可以做到这两点,与前两种方法... 阅读全文
posted @ 2013-10-02 12:54 Crazy Eric 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 知道ip地址和子网掩码后可以算出: 1、 网络地址 2、 广播地址 3、 地址范围 4、 本网有几台主机 例1:下面例子IP地址为192·168·100·5 子网掩码是255·255·255·0。算出网络地址、广播地址、地址范围、主机数。(一)分步骤计算 1) 将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址。 虚线前为网络地址,虚线后为主机地址 2)IP地址和子网掩码进行与运算,结果是网络地址 3) 将上面的网络地址中的网络地址部分不变,主机地址变为全1,结果就是广播地址。 4) 地址范围就是含在本网 阅读全文
posted @ 2013-09-29 15:50 Crazy Eric 阅读(4859) 评论(0) 推荐(1) 编辑
摘要: 转自http://blog.csdn.net/v_JULY_v/article/details/6451990 教你如何迅速秒杀掉:99%的海量数据处理面试题作者:July出处:结构之法算法之道blog前言 一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性总结。 毕竟受文章和理论之限,本文将摒弃绝大部分的细节,只谈方法/模式论,且注重用最通俗最直白的语言阐述相关问题。最后,有一点必... 阅读全文
posted @ 2013-09-26 17:03 Crazy Eric 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 从B 树、B+ 树、B* 树谈到R 树作者:July、weedge、Frankie。编程艺术室出品。说明:本文从B树开始谈起,然后论述B+树、B*树,最后谈到R 树。其中B树、B+树及B*树部分由weedge完成,R 树部分由Frankie完成,全文最终由July统稿修订完成。出处:http://blog.csdn.net/v_JULY_v。第一节、B树、B+树、B*树1.前言:动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ 阅读全文
posted @ 2013-09-26 17:00 Crazy Eric 阅读(967) 评论(0) 推荐(0) 编辑
摘要: http://android.blog.51cto.com/268543/385282/抽象类abstract class 包含抽象方法的类,叫抽象类。而抽象的概念就是抽象出共同属性:成员变量和方法。所以抽象类可以有private等多种权限的成员变量和非abstract的成员方法。当然抽象方法是一定要有的。 抽象类是用于单一继承的,不能实例化。而继承类一定要实现抽象方法,因为抽象方法在抽象类里是没有实现行为的,访问权限只能是public。而非抽象方法则可以赋予方法的默认行为,访问权限可以多种,但需要考虑非抽象方法是否需要被继承类访问。接口 interface 接口,用于多重继承,也不能实例化。 阅读全文
posted @ 2013-09-24 16:41 Crazy Eric 阅读(228) 评论(1) 推荐(1) 编辑
摘要: 作者: 阮一峰日期: 2013年5月 3日上一篇文章,我介绍了KMP算法。但是,它并不是效率最高的算法,实际采用并不多。各种文本编辑器的"查找"功能(Ctrl+F),大多采用Boyer-Moore算法。Boyer-Moore算法不仅效率高,而且构思巧妙,容易理解。1977年,德克萨斯大学的Robert S. Boyer教授和J Strother Moore教授发明了这种算法。下面,我根据Moore教授自己的例子来解释这种算法。1.假定字符串为"HERE IS A SIMPLE EXAMPLE",搜索词为"EXAMPLE"。2.首先,& 阅读全文
posted @ 2013-09-23 01:13 Crazy Eric 阅读(345) 评论(0) 推荐(1) 编辑
摘要: 作者: 阮一峰日期: 2013年5月 1日字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。这种算法不太容易理解,网上有很多解释,但读起来都很费劲。直到读到Jake Boxer的文章,我才真正理解这种算法。下面,我用自己的语言,试图写一篇比较好懂的KMP算法解释。1.首先,字符串 阅读全文
posted @ 2013-09-22 23:49 Crazy Eric 阅读(227) 评论(0) 推荐(1) 编辑
摘要: 转自http://www.cnblogs.com/Anker/p/3271773.html1、前言 之前在看《unix环境高级编程》第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊。今天被人问到什么是孤儿进程和僵尸进 程,会带来什么问题,怎么解决,我只停留在概念上面,没有深入,倍感惭愧。晚上回来google了一下,再次参考APUE,认真总结一下,加深理解。2、基本概念 我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程。子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束。当一个 进程完成它的工作终.. 阅读全文
posted @ 2013-09-22 22:10 Crazy Eric 阅读(302) 评论(0) 推荐(1) 编辑
摘要: 转自http://coolshell.cn/articles/7459.html前两天发布那个rsync算法后,想看看数据压缩的算法,知道一个经典的压缩算法Huffman算法。相信大家应该听说过David Huffman和他的压缩算法——Huffman Code,一种通过字符出现频率,Priority Queue,和二叉树来进行的一种压缩算法,这种二叉树又叫Huffman二叉树 —— 一种带权重的树。从学校毕业很长时间的我忘了这个算法,但是网上查了一下,中文社区内好像没有把这个算法说得很清楚的文章,尤其是树的构造,而正好看到一篇国外的文章《A Simple Example of Huffman 阅读全文
posted @ 2013-09-22 21:32 Crazy Eric 阅读(308) 评论(0) 推荐(1) 编辑
摘要: The gray code is a binary numeral system where two successive values differ in only one bit.Given a non-negative integernrepresenting the total number of bits in the code, print the sequence of gray code. A gray code sequence must begin with 0.For example, givenn= 2, return[0,1,3,2]. Its gray code s 阅读全文
posted @ 2013-09-13 22:13 Crazy Eric 阅读(900) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 14 下一页