
数据结构
文章平均质量分 67
yx0628
这个作者很懒,什么都没留下…
展开
-
Java实现线性表(顺序表)
线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。线性表可通过一维数组来实现其顺序存储结构,即把第一个数据元素存放到数组下标为0的位置中,接着把线性表相邻的元素存储到数组中相邻的位置。顺序存储结构的优缺点:优点:1. 无需为表中元素之间的逻辑关系而增加额外的存储空间 2. 可以快速地存取表中任意位置的元素缺点:1. 插入和删除需要移动大量元素顺序原创 2014-01-09 16:33:26 · 1562 阅读 · 0 评论 -
Java实现单链表
Java语言实现的单链表,只实现了基本功能。 单链表的结点由存放数据元素的数据域和存放后继结点地址的指针域组成。java中由于不存在指针,指针域应存放后继结点的引用。 节点类:/** * 节点类 * @param */ public static class Node { private T value; private Node n原创 2014-01-14 14:38:22 · 736 阅读 · 0 评论 -
Java实现静态链表
静态链表其实是为了给没有指针的高级语言设计的一种实现单链表能力的方法。 静态链表是用数组描述的链表,数组的元素都是由两个数据域组成,data和cur。数组的每个下标都对应一个data和一个cur,数据域data用来存放元素,而cur相当于单链表中的next指针,存放该元素的后继在数组中的下标,cur即游标。 节点类,将data和cur结构化:/** * 节点类原创 2014-01-16 12:00:18 · 2193 阅读 · 0 评论 -
二叉树的遍历算法(递归与非递归)
二叉树的原创 2014-04-23 16:47:23 · 707 阅读 · 0 评论 -
把二元查找树转变成排序的双向链表——Java实现
题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。10/ \6 14/ \ / \4 8 12 16转换成双向链表4=6=8=10=12=14=16。原创 2014-04-24 10:50:23 · 3176 阅读 · 0 评论 -
【面试题】在二元树中找出和为某一值的所有路径——Java实现
题目:输入一个整数和一棵二元树。 从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。 打印出和与输入整数相等的所有路径。 例如输入整数22 和如下二元树 10 / \5 12 / \ 4 7 则打印出两条路径:10, 12 和10, 5, 7。原创 2014-04-24 16:24:52 · 2070 阅读 · 0 评论 -
判断两个单链表是否相交同时找出第一个相交点(单链表是否有环及寻找入口节点)
这个问题,首先应判断两个单链表原创 2014-04-25 11:28:57 · 1928 阅读 · 0 评论 -
判断整数序列是不是二元查找树的后序遍历结果
题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。 如果是返回true,否则返回false。 例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果: 8 / \6 10 / \ / \ 5 7 9 11 因此返回true。 如果输入7、4、6、5,没有哪棵树的后序遍历的结果是这个序列,因此返回false。原创 2014-04-27 18:24:35 · 1056 阅读 · 0 评论