摘要: 二叉树定义 二叉树(Binary Tree)是n(n≥0)个结点的有限集合,该集合可以为空集称为空二叉树,或者一个根结点和两个互不相交的,分别称为根结点的左子树和右子树的二叉树组成。 如开/关,0/1,真/假,上/下,对/错等,对于这种在某个阶段都是两种可能性的情况,我们可以用树形结构来建模,而这种 阅读全文
posted @ 2018-11-19 20:29 binbinshan 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 定义 树(Tree)是n(n≥0)个结点的有限集合,n=0时称为空树。在任意一个非空树中:①有且只有一个特定的称为根(root)的结点;②当n>1时,其余结点可以分为m(m>0)个互不相交的有限集T₁,T₂,T₃....Tп,其中每个集合本身又是一棵树,并且称为根的子树(subTree) 树的定义用 阅读全文
posted @ 2018-11-18 10:49 binbinshan 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 队列 队列是只允许在一端进行插入,在另一端进行删除的线性表。队列是一种先进先出(First In First Out)的线性表,简称FIFO,允许插入的一端叫队尾,允许删除的一端叫队头。 线性表有顺序存储和链式存储,栈是线性表,所以有这两种存储方式,同样,队列作为特殊的线性表,也有两种存储方式。 队 阅读全文
posted @ 2018-11-08 22:04 binbinshan 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 栈 栈的定义 栈(stack)是限定仅在表尾进行插入和删除操作的线性表。我们把允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),没有任何数据元素的栈称为空栈。栈又称为后进先出(Last In First Out)的线性表,简称LIFO结构。 栈元素具有线性关系,及前驱和后继的关 阅读全文
posted @ 2018-11-06 21:48 binbinshan 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 数据结构之线性表一主要讲的是线性表的顺序存储结构和链式存储结构的实现和代码。这次我们来讨论下静态链表,循环链表和双向链表。 静态链表 我们让数组每个元素都是由两个数据域组成:data和cur。数据域data用来存储数据元素,cur相当于我们链表中的next指针,存放该数据元素的后继在数组中的下标。我 阅读全文
posted @ 2018-11-05 21:41 binbinshan 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 本文主要是线性表的顺序存储结构和链式存储结构的实现和代码。 线性表的定义 线性表:零个或多个数据元素的有限序列 序列说明元素之间是有顺序的,若元素存在多个,则第一元素无前驱,最后一个元素无后继,其他元素都有且只有一个前驱和后继。有限说明元素的个数是有限的,所有在计算机中处理的数据对象都是有限的。另外 阅读全文
posted @ 2018-10-30 20:44 binbinshan 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 前言 一个好的架构是靠演变而来,而不是单纯的靠设计。刚开始做架构设计,我们不可能全方位的考虑到架构的高性能、高扩展性、高安全等各方面的因素。随着业务需求越来越多、业务访问压力越来越大,架构不断的演变及进化,因而造就了一个成熟稳定的大型架构。... 阅读全文
posted @ 2017-04-21 09:53 binbinshan 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变。 该系统具备的功能: 用户模块:用户注册和管理 商品模块:商品展示和管理 交易模块:创建交易和管理 阶段一、单机构建网站 网站的初期,我们经常会在单机上... 阅读全文
posted @ 2017-04-20 19:13 binbinshan 阅读(32) 评论(0) 推荐(0) 编辑