数据结构
文章平均质量分 74
zb_possible
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二叉树--创建,删除,交换;查找节点的层数,某层多少节点,叶子节点到根节点的路径,LCA
啊原创 2016-04-02 20:37:20 · 585 阅读 · 0 评论 -
二叉树--高度,宽度和节点个数
对于二叉树的算法问题,我们可以根据二叉树本身的定义的递归性质求解,或者使用对二叉树的遍历算法进行求解.下面我们看几个关于二叉树高度,宽度和节点个数的算法一,求二叉树的高度1,使用二叉树递归定义的性质求二叉树的高度如果根节点为空,返回0否则 递归求左子树高度 getHeightRecurse(root.left)递归求右子树高度 getHeightRecurse原创 2016-04-02 18:14:47 · 1415 阅读 · 0 评论 -
二叉树--遍历
二叉树的遍历一,二叉树的遍历定义二叉树的遍历是指按指定的规律对二叉树中的每个结点访问一次且仅访问一次.所谓访问是指对结点做某种处理,二叉树的基本组成:根结点、左子树、右子树。若能依次遍历这三部分,就是遍历了二叉树。1,二叉树的先中后序遍历若以L、D、R分别表示遍历左子树、遍历根结点和遍历右子树,则有六种遍历方案:DLR、LDR、LRD、DRL、RDL、RLD。若规定原创 2016-04-02 00:54:54 · 399 阅读 · 0 评论 -
二叉树前言
本篇章主要是二叉树的学习和描述.首先,老生常谈,说下二叉树的定义.二叉树(Binary tree)是n(n≥0)个结点的有限集合。 若n=0时称为空树,否则: ⑴ 有且只有一个特殊的称为树的根(Root)结点; ⑵ 若n>1时,其余的结点被分成为二个互不相交的子集T1,T2,分别称之为左、右子树,并且左、右子树又都是二叉树。 由此可知,二叉树的定义是递归的。所以关于很多二叉树的算法实现原创 2016-04-02 00:45:08 · 369 阅读 · 0 评论 -
线性表之顺序表常见操作
顺序表顺序表采用连续的数据结构进行数据的存取,插入删除元素(非最后元素),需要移动元素,对于插入元素,需要考虑扩容.但是顺序表可以进行随机访问,对于插入删除操作相对较少,访问元素操作较多的类型,可以采用顺序表进行存储一,主要内容1,顺序表的插入元素到指定位置2,顺序表的删除指定位置元素3,获取指定位置元素4,获取指定元素的索引5,删除所有指定的元素6,删除指定索引位原创 2016-04-04 14:39:59 · 421 阅读 · 0 评论 -
线性表之顺序表增强操作
一,线性表的一些增强操作1,合并有序顺序表两个索引,分别指向两个顺序表的0索引,然后进行相互比较大小,索引前移.需要注意的是,两个顺序表可能会有一个先遍历完,所以最后判断是否要有剩余未遍历的 2,删除某个范围内的元素和删除某个元素思路一致 3,将顺序表元素进行重组, 小于等于某个value的放在左端,大于这个value的放在右边类似快速排序的一趟排序过程. 使用原创 2016-04-04 19:03:26 · 299 阅读 · 0 评论 -
线性表之单链表
在链表存储结构中,每个节点用于存储线性表的一个元素,每个节点不仅包含有所存元素本身的信息(数据域),还包含元素之间逻辑关系的信息,即前驱节点包含后继节点的地址信息,称为指针域,这样可以比较方便的查找后继节点的位置.我们再次讨论的单链表为了方便链表的操作,都是默认带头结点的.只要我们拿到了头结点我们就等于拿到了整个链表的节点一,基本操作1,头插法建立单链表 这样得到的链表节点顺序和插入原创 2016-04-06 22:14:53 · 1100 阅读 · 0 评论
分享