代码改变世界

二叉树的基本遍历方法

2012-07-09 17:16 by coodoing, 287 阅读, 0 推荐, 收藏, 编辑
摘要:View Code 1 package Tree; 2 3 import java.util.Stack; 4 public class BinaryTreeTraversal { 5 protected Node root; 6 7 public BinaryTreeTraversal(Node root) { 8 this.root = root; 9 } 10 11 public Node getRoot() { 12 return root; 13 } 14 15 /** 构造树... 阅读全文

二叉树的基本操作

2012-07-09 17:06 by coodoing, 266 阅读, 0 推荐, 收藏, 编辑
摘要:主要利用java实现了二叉树的一些基本操作:获取树的深度;添加、删除节点获取左右兄弟节点简单的递归中序遍历。。后续会提供前序,后序遍历的方法以及非递归遍历的方法BinaryTree 1 package Tree; 2 3 class BTNode { 4 int data; 5 BTNode left; 6 BTNode right; 7 8 public BTNode(int data) { 9 this(data, null, null); 10 } 11 12 public BTNode(int d... 阅读全文

队列,链表及二叉查找树

2012-07-08 11:34 by coodoing, 294 阅读, 0 推荐, 收藏, 编辑
摘要:Queue(链式队列)Queuepackage Queue;class QNode<T> { T data; QNode<T> next; public boolean equals(QNode<T> node) { if (data.equals(node.data)) { return true; } return false; } public int hashCode() { return data.hashCode(); }}class LinkQueue<T> { ... 阅读全文

[转]Python3.0与2.6变化

2011-11-27 09:32 by coodoing, 795 阅读, 1 推荐, 收藏, 编辑
摘要:1)去除了<>,全部改用!= 2)去除``,全部改用repr() 3)关键词加入as 和with,还有True,False,None 4)整型除法返回浮点数,要得到整型结果,请使用// 5)加入nonlocal语句。使用noclocal x可以直接指派外围(非全局)变量 6)去除print语句,加入print()函数实现相同的功能。同样的还有 exec语句,已经改为exec()函数 去除元组参数解包。不能def(a, (b, c)):pass这样定义函数了 10)新式的8进制字变量,相应地修改了oct()函数。 2.X的方式如下: >>> 0666 438 > 阅读全文

[转]迭代、集合、字典表和列表

2011-11-27 01:24 by coodoing, 439 阅读, 0 推荐, 收藏, 编辑
摘要:集合在编程的过程中用的是非常的多,如GridViewRowCollection、ConnectionStringSettingsCollection、NameValueCollection等等。一般来说,集合的类都包含在System.Collections命名空间中。那众多集合之间又有什么样的联系呢?这需要我们从集合的集成关系上理顺一下。 一、IEnumerable和IEnumerator接口 IEnumberable接口是大部分集合类型的根。它是一个支持foreach迭代的接口,一个集合对象要能遍历所有对象的话,那它必需要实现这个接口,它的声明结构如下: public interface.. 阅读全文

【转】Exposing a WCF Service With Multiple Bindings and Endpoints

2011-11-27 01:22 by coodoing, 304 阅读, 0 推荐, 收藏, 编辑
摘要:Windows Communication Foundation (henceforth abbreviated as WCF) supports multiple bindings that allows developers to expose their services in a variety of ways. What this means is a developer can create a service once and then expose it to support net.tcp:// or http:// and various versions of http: 阅读全文

按某种分布生成随机数[用于WSN中随机分布的初始化]

2011-11-27 00:59 by coodoing, 355 阅读, 0 推荐, 收藏, 编辑
摘要:随机数产生原理及应用Matlab生成符合某种概率分布的序列生成方法概率算法简介如果产生一串符合某种概率分布的随机数,比如说符合高斯分布(正 态分布)做了一个服从某种分布的随机数产生器做了一个服从某种分布的随机数产生器(续)做了一个服从某种分布的随机数产生器(又续)服从某种分布的随机数产生器(再续做了一个服从某种分布的随机数产生器(五) 阅读全文

[转]几种用于WSN的仿真工具

2011-11-27 00:49 by coodoing, 904 阅读, 2 推荐, 收藏, 编辑
摘要:为评价无线传感器网络协议算法的性能,仅通过实验是无法实现的,特别是包含大量节点的大规模无线传感器网络,更是很难通过实验来实现(实际上,上百个节点的实验己经比较难以管理与实现)。为了实现无线传感器网络的仿真,研究人员设计开发(或在现有平台建立无线传感器网络模型)了许多的仿真平台,包括NS-2, OPNET, SensorSim, EmStar, OMNet, G1oMoSim, TOSSIM, PowerTOSSIM等。NS-2NS-2 (Network Simulator-2)是著名的用于网络研究的离散事件仿真工具,里面包括了大量的用于在有线或无线、本地连接或通过卫星连接进行TCP协议、路由算 阅读全文

VMware下安装Ubuntu上网解决

2011-11-26 11:10 by coodoing, 6496 阅读, 0 推荐, 收藏, 编辑
摘要:整理的关于VMware下安装Ubuntu的上网解决方案,除了常用的NAT访问外,也可以在Ubuntu中自带的network客户端进行manual手工配置。通用解决方案(参照民主湖),也是最简单的方案,一般按下面步骤安装后,都可以正常上网:如果你使用的是虚拟机VMware,不用安装Linux版的Drcom(很多版本都有兼容性问题,安装一个Drcom还要改它的代码)你直接把VMware里面的网络选项改为NAT,然后将Debian的网络设置为DHCP并且确认XP系统上VMware的DHCP服务已经启动估计你现在还有点晕,我分步骤说一下:step 1:启动XP系统VMware软件的DHCP和NAT服务 阅读全文

js中undefined,null和typeof运算符

2011-03-24 09:44 by coodoing, 3458 阅读, 3 推荐, 收藏, 编辑
摘要:如果你对undefined和null这两种类型经常分辨不清,那么恭喜,因为你会找到很多的知音。其实要理解这两种类型, 首先要知道它们设计的初衷: undefined:表示一个对象没有被定义或者没有被初始化。null:表示一个尚未存在的对象的占位符。有意思的是undefined类型是从null派生来的。所以它们是相等的:alert(null == undefined); //输出 “true”对于所有的JavaScript开发人员,最常碰到的就是对象不存在错误。正如在C#中的空引用错误一样。很多程序员习惯的以为JavaScript中的if会自动将undefined和null对象转化为false, 阅读全文

struts 2运行和配置中出现错误

2011-03-24 02:14 by coodoing, 501 阅读, 1 推荐, 收藏, 编辑
摘要:调试struts程序。出现下面错误。错误: type Status reportmessage /Struts2/description The requested resource (/Struts2/) is not available.其中:web.xml中配置:<?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j 阅读全文

单点登录------注意点

2011-03-24 02:08 by coodoing, 460 阅读, 0 推荐, 收藏, 编辑
摘要:“博客的迁移”做单点登录的时候,遇到几个问题及解决方法:(1):纯html控件,如 <input type="text" name="name" id="text1" />的值在后台cs中的获取方式: [1]:将控件声明为服务器控件:runat="server",然后在后台cs代码中直接:this.text1.Value [2]: 通过request.form["name"]值获取,不过方式是:只读 [3]: 或者在cs代码中,声明:protected System.Web.UI.H 阅读全文

EF 系统学习

2011-03-24 01:52 by coodoing, 952 阅读, 1 推荐, 收藏, 编辑
摘要:EF中几个重要的,如ObjectContext、ObjectQuery、、EntityClient、Linq to Entity以及ESQL相关处理。而linq只是一个技术的应用。EF并发冲突【Fixed】,并发处理;继承,多表关联;事务,存储过程处理;复杂类型处理。具体项目应用过程中队EF的应用;效率,解耦;还有就是EF优化---缓存。GetObjectByKey、延迟加载、CompiledQuery。。。。linq to entity【objectcontext】与linq to sql【datacontext】及entityclientSystem.Data.Common.DbTran. 阅读全文

各种异步操作的实现方式

2011-03-24 01:49 by coodoing, 984 阅读, 1 推荐, 收藏, 编辑
摘要:总结对比各种异步操作的实现方式实现异步,主要包含以下几种方法1) 使用专用线程,方法为:System.Threading.ThreadStart ts = new System.Threading.ThreadStart(void(object state) target);System.Threading.Thread th = new System.Threading.Thread(ts);ts.Start();调用Start()方法之前,并没有实质性得创建线程资源,而是Start()后才进行创建,此种方式的好处在于能设置线程是前台线程还是后台线程,并且能控制线程的挂起和消亡2) 使用线程 阅读全文

WCF,SL,LINQ优化项目

2011-03-24 01:47 by coodoing, 505 阅读, 1 推荐, 收藏, 编辑
摘要:学习记录。WCF绑定模型:从整个基础构架的层次结构上讲,WCF可以分成两个部分:服务模型层(Service Mode Layer)和信道层(Channel Layer)。服务模型层建立在信道层之上,提供了一个统一的、可扩展的编程模型。信道层则通过绑定(Binding)创建的信道栈为消息通信提供了一个传输、处理的通道。【即提供扩展,提供通道】卷1关注基本的WCF基本变成模型,比如地址、绑定、契约、消息、序列化、编码、会话、实例化等,卷2关注于一些”高级“话题,比如异常处理、元数据、事务[分布式]、可靠会话、队列服务【并行】、安全、扩展等!1. 数据分析2. 信息安全3. 网络技术4. 机器人技术 阅读全文

IO 流操作(条理性的规划写博)

2011-03-24 01:45 by coodoing, 407 阅读, 1 推荐, 收藏, 编辑
摘要:文件和流的区别:Stream类解析 文件和流的差异。文件是一些具有永久存储及特定顺序的字节组成的一个有序的、具有名称的集合。因此,关于文件,人们常会想到目录路径、磁盘存储、文件和目录名等方面。相反,流提供一种向后备存储写入字节和从后备存储读取字节的方式,后备存储可以为多种存储媒介之一。正如除磁盘外存在多种后备存储一样,除文件流之外也存在多种流。例如,还存在网络流、内存流和磁带流等。所有表示流的类都是从 Stream类继承的。Stream类及其派生类提供数据源和储存库的一般视图,使程序员不必了解操作系统和基础设备的具体细节。流涉及三个基本操作:可以从流读取。读取是从流到数据结构(如字节数组)的数 阅读全文

Spring Hibernate 知识点

2011-03-24 01:43 by coodoing, 527 阅读, 1 推荐, 收藏, 编辑
摘要:什么是Spring------开源的,控制反转(Inversion of Control)和面向切面的容器框架。Spring核心:IOC(控制反转)-------创建对象并且组装对象之间的关系。IOC:应用程序本身不负责依赖对象的创建和维护,依赖对象的创建和维护是由外部容器负责的。这样控制权就由应用程序转移到了外部容器。控制权的转移就是所谓的反转。依赖注入:Dependency Injection:在运行时由外部容器将依赖对象注入到组件中。为什么使用Spring1:降低组件之间的耦合度,实现各层之间的解耦2:可以使用容器提供的众多服务。如:--事务管理服务--JMS--Spring core核 阅读全文

BT中的Tracker

2011-03-24 01:34 by coodoing, 828 阅读, 1 推荐, 收藏, 编辑
摘要:BT中的Tracker tracker 是指运行于服务器上的一个程序,这个程序能够追踪到底有多少人同时在下载同一个文件。 客户端连上tracker服务器,就会获得一个下载人员的名单,根据这个,BT会自动连上别人的机器进行下载。它是提供bt的服务器。把文件用bt发布出来的人需要知道该使用哪个服务器来为要发布的文件提供tracker。指定服务器,BitTorrent采用BT文件来确定下载源。 tracker服务器是BT下载中必须的角色。一个BTclient在下载开始以及下载进行的过程中,要不停的与tracker服务器进行通信,以报告自己的信息,并获取其它下载client的信息。这种通信是通过HTT 阅读全文

Python开发环境配置

2011-03-24 01:29 by coodoing, 1945 阅读, 3 推荐, 收藏, 编辑
摘要:”工欲善其事,必先利其器“。上篇序主要是介绍了python的一些基本信息,而作为开发所用,我们必须首先保障有一个稳定,好用的开发环境。本文中讨论的是python3.2版本,其实也可以是python2.7版本及其他版本,下面主要介绍两款开发工具。PyScripter和Eclipse。1:首先介绍的这款是Pyscripter,首先截个图看下效果。整体用起来感觉不错,有一定智能提示功能,且对代码缩进有一定的要求,如果代码缩进不正确的话,会提示syntax error: expected an indented block。但是与python中所带的Lib文件夹下的模板程序关联不上,所以在引入和调用的 阅读全文

Python学习系列

2011-03-24 00:21 by coodoing, 805 阅读, 1 推荐, 收藏, 编辑
摘要:最近突然想学习一下一门有别于Java、.Net这些常用语言的编程语言,而早些时候发现python能够快速进行开发,所以借着这个机会学习一下,主要目的就是接触一下不同类型的语言,学习一下新颖的设计理念。后续文章中,则记录了python学习历程中的所学点滴,留做记录和学习沉淀。 在写这个系列文章以前,首先简单的介绍一下Python这门开发语言,其中主要参考了“Python 核心编程”和 http://blog.moocss.com/tutorials/python-tutorials/92.html; 然后推荐两本相关书籍:dive into python和Python核心编程,帮助大家对pyt. 阅读全文