数据结构一直都是断断续续的看,总是觉得理解的不够深入,特别是对树的理解,一直都很浅显,今儿又看了一遍,来做个总结吧。
首先,树中的一些概念:
1、树的节点包含一个数据元素,以及若干指向其子树的分支。节点拥有的子树的数量称为节点的度。节点的最大层次称为树的深度或高度。
2、二叉树是一种树形结构,其特点是每个节点至多有两棵子树,且子树有左右之分,次序不能随意颠倒。
3、满二叉树:一棵深...
分类:
编程语言 时间:
2016-04-26 21:29:49
阅读次数:
203
一、Spring的资源详解1.1引言在日常程序开发中,处理外部资源是很繁琐的事情,我们可能需要处理URL资源、File资源、ClassPath相关资源、服务器相关资源等等很多资源。因此处理这些资源需要使用不同的接口,这就增加了我们系统的复杂性;而且处理这些资源步骤都是类似的(打开资源、读取资源、关闭资源),因此如果能抽象出一个统一的接口来对这些底层资源进行统一访问,是不是很方便,而且使我们系统更加简...
分类:
编程语言 时间:
2016-04-26 21:29:53
阅读次数:
186
一、单例模式
a、单例模式:单例是最简单的很常用的一种设计模式,保证了一个类在内存中只能有一个对象。
思路:
1) 如果其他程序能够随意用new创建该类对象,那么就无法控制个数。因此,不让其他程序用new创建该类的对象。
2) 既然不让其他程序new该类对象,那么该类在自己内部就要创建一个对象,否则该类就永远无法创建对象了。
3) 该类将创建的对象对外(整个系统)提供,让其他...
分类:
编程语言 时间:
2016-04-26 21:31:04
阅读次数:
155
点击进入_更多_Java千百问1、什么是泛型泛型是Java SE 1.5的新特性,泛型即参数化类型,也就是说所操作的数据类型被指定为一个参数。
这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。
如何使用泛型方法、泛型类/接口看这里:泛型如何使用
在没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换...
分类:
编程语言 时间:
2016-04-26 21:29:01
阅读次数:
141
点击进入_更多_Java千百问1、如何使用泛型方法了解什么是泛型看这:泛型是什么
以下是定义泛型方法的规则:
声明泛型方法时,在返回类型之前,需要有一个由尖括号()分隔的泛型类型部分。
2 . 一个泛型类型,也称为类型参数,是一个标识符,用于指定一个泛型类型的名称。
类型参数可以用来声明返回类型和充当占位符传递给泛型方法。
泛型方法的身体与其他方法一样。
例子:public class...
分类:
编程语言 时间:
2016-04-26 21:27:40
阅读次数:
216
归并排序...
分类:
编程语言 时间:
2016-04-26 21:26:43
阅读次数:
269
先介绍集合框架:
Java,是由Sun公司于1995年推出的编程语言。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大块内容:对外的...
分类:
编程语言 时间:
2016-04-26 21:29:13
阅读次数:
152
程序(program):是为了完成特定任务、用某种语言编写的一组指令的集合。即指的一段静态的
代码,静态对象。
进程(process):是程序的一次执行过程,或是正在运行的一个程序。
动态过程:有他自身的产生、存在和消亡的过程。
如:运行的QQ、运行的MP3的播放器
程序是静态的,进程是动态的。
线程:进程可进一步细化为线程,是一个程序内部的一条执行路径。
若一个程序可同一时间执行多...
分类:
编程语言 时间:
2016-04-26 21:19:01
阅读次数:
229
一、 ArrayList概述:本文的源代码分析基于的JDK版本是1.8.
ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。
ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayList类,也可以使用co...
分类:
编程语言 时间:
2016-04-26 21:20:32
阅读次数:
254
二叉堆的概念
二叉堆,BinaryHeap,是二叉树中的常见的一种结构。通常以最大堆和最小堆的形式呈现。最大堆指的是父节点大于等于孩子节点的value值,也就是说对于最大堆而言,根元素是二叉堆最大的元素。最小堆的概念是与最大堆的概念是相似的。...
分类:
编程语言 时间:
2016-04-26 21:19:07
阅读次数:
215
上篇地址:swift实战入门之手把手教你编写2048(二)
github地址:https://github.com/scarlettbai/2048.git。
今天给大家带来2048最后一篇,之前已经实现了向游戏区域中随机插入数字块,接下来要做的,就是当我们滑动屏幕时移动及合并数字块以及插入一个新的数字块。本篇的难点就是移动时的算法问题,首先来给大家讲一下算法。 2048的算法实现其实很简单...
分类:
编程语言 时间:
2016-04-26 21:16:06
阅读次数:
156
作程序员重要的是什么?有人问过你这样的问题吗?
知识,语言基础好?技术好?逻辑思维强?英语好?…………
也许作为一位优秀的程序员,每个人的身上都有这样那样的优点,但是既然有优点就会有缺点,而且别
人的一些优点或者天生的优势可能不是那么容易让更多的人去努力能够达到的。但是不管怎么样,做到
什么程度,程序员都必须要遵守一些规范,而且规范遵守和做的越好的程序员,不仅程序漂亮,其他方
便也...
分类:
编程语言 时间:
2016-04-26 21:17:28
阅读次数:
201
Once upon a time, in the Kingdom of Loowater, a minor nuisance turned into a major problem.The shores of Rellau Creek in central Loowater had always been a prime breeding ground for geese.Due to the la...
分类:
编程语言 时间:
2016-04-26 21:16:36
阅读次数:
160
本章节包括:
1)线程模型总览
2)Event Loop概念和具体实现
3)任务调度
4)实现细节
简单地陈述一下,对于一个操作系统,编程语言,框架,或者应用来说,线程模型对其都是至关重要的一部分,在什么时间如何创建一个线程都会对你的代码执行有很重要的影响,所以对于开发人员而言,懂得在各种线程模型里面权衡利弊就是一个很重要的事情,是直接使用线程模型本身还是通过一些框架或者...
分类:
编程语言 时间:
2016-04-26 21:17:17
阅读次数:
406
多线程
进程的概念:进行中的程序
每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元。
线程:就是进程中的一个独立的控制单元
线程控制着进程的执行
一个进程中至少有一个线程。
Java VM启动的时候会有以恶搞进程java.exe
而且这个线程运行的代码存在main内中。
该线程称之为主线程。
拓展
虚拟机jvm,其实是多线程,不是单线程
主线程调用方法...
分类:
编程语言 时间:
2016-04-26 21:15:57
阅读次数:
288
TreeSet:可以对Set集合中的元素进行排序。
例:存放自定义对象
import java.util.*;
/*
需求:往TreeSet集合中存储自定义对象--学生
想按照学生的年龄进行排序
*/
class Student{
private String name;
private int age;
Student(String name,int age){
th...
分类:
编程语言 时间:
2016-04-26 21:13:15
阅读次数:
212
我们经常会与文件和目录打交道,对于这些操作,python可以使用 os 及 shutill 模块,其中包含了很多操作文件和目录的函数。
os 可以执行简单的文件夹及文件操作,引入用 import os,可用 help(os)
或是 dir(os) 查看其用法。注意有些函数在os模块中,有的是在os.path模块中。
shutil 模块提供了大量的文件的高级...
分类:
编程语言 时间:
2016-04-26 21:12:24
阅读次数:
373