【数据结构】——-树和二叉树二

二叉树:1:术语其实树中有很多术语的,这个是我们学习树形结构必须掌握的。父节点,子节点,兄弟节点这个就比较简单了,B和C的父节点就是A,反过来说就是B和C是A的子节点。

【数据结构】——-树和二叉树一

首先,树也是一种数据结构,但是和之前介绍的线性表、栈、队列等线性结构不同,树是一种非线性结构。一棵树的度是指该树中结点的最大度数。度不为零的结点称分支结点或非终端结点。根结点又称为开始结点。祖先和子孙①路径若树中存在一个结点序列k1,k2,…对这一关系加以延拓,规定若k1和k2是兄弟,且k1在k2的左边,则kl的任一子孙都在k2的任一子孙的左边,那么就定义了树中结点之间的横向次序。

BZOJ 3224: Tyvj 1728 普通平衡树 [Splay]【数据结构】

于是学了学Splay其实Splay很好懂只要知道平衡树的左旋和右旋操作,知道作用是吧一棵树做矮,就是不使它的某一条链变成。本质还是一颗二叉树,只不过多了伸展的操作,也就是能通过左旋,右旋降低树高,保证某些操作总是在O的不会变成O。附模板————————————————————————————————————

【数据结构】——-栈、队列和数组三

一、数组的逻辑结构和基本运算数组可以看成是线性表的一种推广,一维数组又称为常量,一维数组“:官方解释:由一组具有相同类型的数据元素组成,并存储在一组连续的存储单元中的数组元素我们称之为数组。二维数组:若一维数组中的数据元素又是一维数组结构,我们称为二维数组。二维数组可以看成是n个列向量组成的线性表。三维数组”:以此类推,若一维数组中的元素又是二维数组结构,我们成为三维数组。

【数据结构】——-栈、队列和数组二

本篇暂且只介绍:队列。进行插入操作的端称为队尾,进行删除操作的端称为队头。对于顺序队列,我们要理解"假上溢"的现象。解决这种“假溢出”情况,使用循环队列。在C语言中,不能用动态分配的一维数组来实现循环队列。若使用循环队列,必须设置最大队列长度,若无法估计最大长度,就使用链式队列。

【数据结构】——-栈、队列和数组一

本篇暂且只介绍:栈。栈又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。

【数据结构】树和二叉树

树的概念度数路径层数以及树的高度或深度树的逻辑结构二叉树的定义二叉树的性质二叉树的存储二叉树的遍历代码