随笔分类 -  数据结构

摘要:概要 数据结构中,树是相对较为复杂的一种数据结构,但也尤其重要,特别是二叉树。该文主要记录二叉树的几种遍历:前序遍历、中序遍历、后序遍历以及层序遍历。介绍各种遍历方式前,先要明确二叉树是:树上的任何一个节点,最多只可能有1个父节点(当然也有无父节点的 即:根节点),同时也最多只有2个子节点(这两个子 阅读全文
posted @ 2017-03-28 11:59 Jacc.Kim 阅读(297) 评论(0) 推荐(0)
摘要:描述 根据已经知的二叉树的前序序列以及中序序列,复原出相应的二叉树。 思路 根据二树的前序序列以及中序序列特点进行还原。前序序列首节点必为树的根节点,因此,在中序序列中查找定位到对应的根节点的位置。则位于中序序列中根节点所在位置的左侧节点全为树根节点的左子树上的节点;位于中序序列中根节点所在位置的右 阅读全文
posted @ 2017-03-21 09:06 Jacc.Kim 阅读(1205) 评论(0) 推荐(0)
摘要:STL中,list的优点是插入、删除性能极佳(时间复杂度只需O(1)即可),而且非常重要的在删除节点后,其迭代器不失效,但list查找却不擅长。map由于其实现的数据结构为rb-tree,因此,其插入、删除以及查找的性能也都是非常不错的。如:插入、删除操作在多数情况下,可能只需要几个简单的数据交换、 阅读全文
posted @ 2016-06-28 09:35 Jacc.Kim 阅读(211) 评论(0) 推荐(0)
摘要:原本是在一张纸上画出了红黑树插入操作的所有情况的演变图示,但前两天将删除操作写到博客上,因此想来,索性就将插入操作也一并写上,以免日后图纸丢失,也方便大伙共同研究,学习。 红黑树的插入操作 1:节点命名约定 N表示新添加的节点。即:取 New 的首字母; P 表示父节点。即:取 Parent 的首字 阅读全文
posted @ 2016-05-07 14:03 Jacc.Kim 阅读(990) 评论(0) 推荐(0)
摘要:查阅了很多的资料,最终把红黑树的删除操作弄明白。为方便日后温习,也为那些正想弄明白但又苦苦明白不了该操作详细原理的同学查阅,特将其当笔记记录下来。下面内容是个人所理解的红黑树的删除操作,如果有不对的地方,欢迎各路大神指正。 红黑树的删除操作 1:节点命名约定 D表示要被删除的节点。即:取 Delet 阅读全文
posted @ 2016-05-05 09:36 Jacc.Kim 阅读(18556) 评论(30) 推荐(6)