05 2016 档案

摘要:1 概念 又称二叉查找树,简称BST。具有以下性质的二叉树: (1) 若左子树非空,则左子树上所有结点值均小于根结点的值 (2) 若右子树非空,则右子树上所有结点值均大于根结点的值 (3) 左,右子树本身也分别是一棵二叉排序树 也是一个递归的数据结构。下图是一个二叉排序树。 对其进行中序遍历得到一个 阅读全文
posted @ 2016-05-29 10:40 创心coder 阅读(1539) 评论(0) 推荐(0) 编辑
摘要:1.树的存储结构 树的存储方式有很多,既可以采用顺序存储,也可采用链式存储,不管采用哪种方式,都需要唯一地反映出树中各节点之间的逻辑关系,树有以下3中常用的存储结构。 1.1 双亲表示法 使用一组连续的空间存储每个结点,同时增加一个伪指针,指示其双亲结点在数组中的位置,如图所示,根节点下标为0,伪指 阅读全文
posted @ 2016-05-28 13:39 创心coder 阅读(317) 评论(0) 推荐(0) 编辑
摘要:1. 基本概念 在链式存储中,发现二叉链表中存在大量的空指针,如果利用这些空指针指向其直接前驱或后继的指针,则可以更方便地运用某些二叉树操作算法。二叉树的线索化,是为了加快查找结点前驱和后继的速度。 在有N个结点的二叉树中,存在N+1个空指针。每个叶结点有2个空指针,度为1的结点有1个空指针,总的空 阅读全文
posted @ 2016-05-28 12:28 创心coder 阅读(601) 评论(0) 推荐(0) 编辑
摘要:1 二叉树的链式存储 1.1 链式存储 顺序存储对空间利用率较低,所以,二叉树一般采用链式存储结构,用一个链表来存储一颗二叉树。二叉链表至少包含3个域:数据域data,左指针域lchild和右指针域rchild,如果再加上一个指向双亲结点的指针就变成了三叉链表。 二叉树的链式存储结构如下: 根据完全 阅读全文
posted @ 2016-05-27 07:55 创心coder 阅读(1434) 评论(0) 推荐(0) 编辑
摘要:前言 MongoDB数据库的版本为3.0.7。记录在使用MongoDB数据库时遇到的各种问题,目前是遇到一个整理一个,没有进行分类,等整理较多的时候,进行分类整理一下。 1.使用可视化工具连接时,身份验证失败,Authorization failed 当使用MongoVUE或者Robomongo连接 阅读全文
posted @ 2016-05-25 13:16 创心coder 阅读(647) 评论(0) 推荐(0) 编辑
摘要:1 二叉树的存储 1.1 顺序存储 使用数组自上而下,自左至右存储完全二叉树上的结点元素,即将完全二叉树上编号为i的结点元素存储在某个数组下标为i-1的分量中,然后通过一些方法确定结点在逻辑上的父子和兄弟关系。 根据二叉树的性质,完全二叉树和满二叉树树采用顺序存储比较合适,树中结点的序号可以唯一地反 阅读全文
posted @ 2016-05-23 22:00 创心coder 阅读(3348) 评论(0) 推荐(0) 编辑
摘要:前言 本文主要涉及一下内容:数据库的备份和恢复,对于任一数据库来说备份至关重要;数据的导入和导出;数据库修复;数据库状态监控工具mongostat;在使用过程遇到其他命令会总结在此。 1.数据库的备份和恢复 1.1 复制数据文件 备份:使用此方法时必须保证数据文件不发生变化,可以使用fsyncloc 阅读全文
posted @ 2016-05-23 16:29 创心coder 阅读(652) 评论(0) 推荐(0) 编辑
摘要:1.分片 分片是什么?分片就是将数据存储在多个机器上。当数据集超过单台服务器的容量,服务器的内存,磁盘IO都会有问题,即超过单台服务器的性能瓶颈。此时有两种解决方案,垂直扩展和水平扩展(分片)。 垂直扩展就是增加CPU,增加容量,但高性能系统的CPU和容量不成比例,这样扩展成本大,并且有上限。 水平 阅读全文
posted @ 2016-05-23 14:22 创心coder 阅读(5368) 评论(1) 推荐(1) 编辑
摘要:一、树的基本概念 1.1 树的定义 树是N个结点的有限集合,N=0时称为空树。任何一颗非空树均满足有且仅有一个根结点,其余结点可分为m个互不相交的有限集合,其中每一个集合本身又是一棵树,称为根结点的子树。 树的定义是递归的,一棵树由若干个子树组成,子树又由更小的子树构成。树是一种重要的非线性结构,也 阅读全文
posted @ 2016-05-21 09:15 创心coder 阅读(285) 评论(0) 推荐(0) 编辑
摘要:1.栈常见应用 1.1 括号匹配 问题描述:假设表达有两种符号:圆的和方的,嵌套的顺序任意,判断嵌套是否正确,如 ([]()) 或 [[()]]均为正确,而 [(]) 或 (()] 均为不正确。 算法描述: (1)初始化一个空栈,顺序读入括号; (2)若是左括号直接进栈; (3)若是右括号,先出栈一 阅读全文
posted @ 2016-05-19 21:33 创心coder 阅读(1963) 评论(0) 推荐(0) 编辑
摘要:一、栈 1.栈的定义 栈是一种线性表,一种抽象数据类型,它只允许在一端进行插入或删除操作。又叫做LIFO(后进先出)线性表。 栈的基本操作有入栈push和出栈pop,栈顶top指的是进行操作的一端。如图,只有栈顶元素可以访问。进栈次序为a1、a2、a3、a4、a5,出栈次序为a5、a4、a3、a2、 阅读全文
posted @ 2016-05-14 09:45 创心coder 阅读(417) 评论(0) 推荐(0) 编辑
摘要:引言 发现不写笔记,不造轮子,学习效率太低,数据结构和算法又很重要,每次看都看不完,这次下定决心总结一下,主要的方法是,看书了解概念和原理,每看完一部分做一些练习题,参考书籍有:《算法》,《数据结构与算法分析 C语言描述》,还有本王道的单科数据结构。 本笔记中的代码均是由Java实现,项目源码地址如 阅读全文
posted @ 2016-05-09 15:14 创心coder 阅读(301) 评论(0) 推荐(0) 编辑
摘要:一、简介 Git是目前世界上最先进的分布式版本控制系统,Git中绝大部分操作都是访问本地资源,不需要网络,其中有三个概念比较重要:1. 工作目录 2. 暂存区域 3.本地仓库。 简单说明一下,工作目录:项目某个版本的内容,供我们使用;暂存区域:一个文件,保存了下次将提交的文件列表信息;本地仓库:保存 阅读全文
posted @ 2016-05-02 00:35 创心coder 阅读(322) 评论(0) 推荐(0) 编辑
摘要:本文使用 Java 来描述对 Mongodb 的相关操作,数据库版本是 3.2.8,驱动版本为 3.2.2。 本文将讨论 如何连接MongoDB 文档的 CURD 操作 文档的上传和下载 首先保证 mongodb 启动了身份验证功能(不启动直接使用IP,Port连接即可)。连接目标可分为三种:单机, 阅读全文
posted @ 2016-05-01 22:56 创心coder 阅读(2030) 评论(0) 推荐(0) 编辑
摘要:1、加入相应依赖包 junit4-4.7.jar 以及spring相关jar包 2、在测试代码的源码包中如 src/test/java 新建一个抽象类如下 3、测试 可以看到自动去加载相关的配置文件,最终显示添加成功 阅读全文
posted @ 2016-05-01 10:55 创心coder 阅读(255) 评论(0) 推荐(0) 编辑