如下图:
这里我们实现DFS中的三种遍历方法。
相关的如下:
相关算法的介绍不再赘述。
首先对于preorder traversal 的步骤为:
其他两种算法略。
具体递归调用分析, 注意学会画stack frame的图分析。 这里不再赘述。
代码如下:
/* Binary Tree Traversal - Preorder, Inorder, Postor...
分类:
编程语言 时间:
2014-07-20 23:05:10
阅读次数:
365
原文链接: Java Annotations: An Introduction原文日期: 2005年10月14日翻译日期: 2014年07月20日翻译人员: 铁锚翻译完后,感觉这篇文章是不是在http://www.developer.com被挖坟了?Java注解介绍基于注解(Annotation-based)的Java开发无疑是最新的开发趋势.[译者注: 这是05年的文章,在2014年,毫无疑问,...
分类:
编程语言 时间:
2014-07-20 22:41:13
阅读次数:
549
最近在看C++ Primer复习C++的语法,看到书中15.9章中的文本查询示例时,觉得设计得非常不错,于是便动手照着实现了一个,修改了很久终于运行成功了,从中也学习到了很多的语法。下面把实现与总结分享给大家...
分类:
编程语言 时间:
2014-07-20 22:45:03
阅读次数:
372
《Kivy A to Z -- 如何从python代码中直接访问Android的Service》 一文中讲到了如何从python访问java的service,这一篇再来讲下如何创建一个基于Binder的Python Service以及如何从Java代码中访问这个Python创建的Service。...
分类:
编程语言 时间:
2014-07-20 22:12:03
阅读次数:
312
一、基本形式
列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的。
x = [4, 6, 2, 1, 7, 9]
x.sort()
print x
# [1, 2, 4, 6, 7, 9]
如果需要一个排序好的副本,同时保持原有列表不变,怎么实现呢
x = [4, 6, 2, 1, 7, 9]
y = x[ : ...
分类:
编程语言 时间:
2014-07-20 22:16:03
阅读次数:
252
Given two binary trees, write a function to check if they are equal or not.
Two binary trees are considered equal if they are structurally identical and the nodes have the same value.
比较两个...
分类:
编程语言 时间:
2014-07-20 22:12:03
阅读次数:
273
场景:
1. 在使用sort排序时,有时候需要对对象的某个值进行排序,比如对类对象的某个id的int类型值或者bool类型值,其实bool类型值排序研究了半天。。...
分类:
编程语言 时间:
2014-07-20 22:48:03
阅读次数:
305
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
click to show spoilers.
Have you thought about this?
Here are some good questions to ask before c...
分类:
编程语言 时间:
2014-07-20 22:12:03
阅读次数:
251
python中无论参数传递还是函数返回值,都是进行引用传递。那如何拷贝对象呢,标准库的copy模块提供了两个方法:copy和deepcopy方法。
1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。
2. copy.deepcopy 深拷贝 拷贝对象及其子对象
见下例:
import copy
a = [1, 2, 3, 4, ['a', 'b']] #原始...
分类:
编程语言 时间:
2014-07-20 22:41:53
阅读次数:
308
在程序开发中,错误往往有两种。一种是编译时出现的错误,该种错误比较容易发现。另一种是运行时出现的错误,该种错误是开发人员比较头疼的。异常就是一个运行时的错误,例如,除数为0 ,数组越界等。
异常处理,就是我们定义一个代码段(可能出错的代码段)来捕获和处理异常。 这样当异常情况发生时,一个代表该异常的对象会被创建,并在产生异常的方法中被引发。该方法可以选择自己处理异常,也可以抛出该异...
分类:
编程语言 时间:
2014-07-20 23:27:02
阅读次数:
309
C++ 复制函数
说道C++复制函数,大家也许并不陌生,就是类中的拷贝构造函数和赋值操作符,但是事实上也许我们一不小心就会忽略编译器所做的一些默认操作。引起晦涩的错误。下面分析几种场景:
一、场景一:全部默认
#include
class base{
public:
base(){}
base(int dt):data(dt){}
void get(){pri...
分类:
编程语言 时间:
2014-07-20 22:45:53
阅读次数:
341
问题一:出现控制台坏的响应错误一Bad request控制台出现错误如下:Bad Requestrequest: http://hostIP:8983/solr/update?wt=javabin&version=1解决方法:出现以上错误的原因是,solr服务器上配置的Field和javabean提...
分类:
编程语言 时间:
2014-07-20 23:03:50
阅读次数:
391
C语言是1972年由美国的Dennis Ritchie设计发明的,到1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。再到1970到80年代,C语言被广泛应用。这短短的几十年时间实现了C语言的高速发展。C语言为什么发展的如此迅速,这就要讲述C语言的优点:1.C语言简洁、紧凑,灵活性...
分类:
编程语言 时间:
2014-07-20 23:13:47
阅读次数:
262
Java的反射非常强大,传递class, 可以动态的生成该类、取得这个类的所有信息,包括里面的属性、方法以及构造函数等,甚至可以取得其父类或父接口里面的内容。Java 反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和...
分类:
编程语言 时间:
2014-07-21 00:02:58
阅读次数:
311
1. 标准C语言 C语言诞生于20世纪70年代,年龄比我们自己还要大,期间产生了很多标准,但是各种编译器对标准的支持不尽相同。 ANSI C是使用的最广泛的一个标准,也是第一个正式标准,被称为“标准C语言”。ANSI C于1980年由美国国家标准局(American National Sta...
分类:
编程语言 时间:
2014-07-21 00:03:21
阅读次数:
350
package com.wangzhu;import java.util.HashMap;import java.util.Map;/** * 在try、catch、finally块中,若try中有return语句,则返回try中变量的值, * 不管try块外是否对该变量进行了修改, 都不影响try...
分类:
编程语言 时间:
2014-07-21 00:09:04
阅读次数:
254
数组是有序数据的集合,数组中的每一个元素具有同样的数组名和下标来唯一地确定数组中的元素。1. 一维数组1.1 一维数组的定义type arrayName[];type[] arrayName;当中类型(type)能够为Java中随意的数据类型,包含简单类型组合类型,数组名arrayName为一个合法...
分类:
编程语言 时间:
2014-07-20 22:33:41
阅读次数:
324