要求:输入一棵二叉排序树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建新的结点,只能调整树中结点的指针的指向。方法一:我们借助一个容器来顺序存储结点的指针,然后改变指针的指向。方法二:我们边遍历边改变指针的指向。
分类:
其他好文 时间:
2014-05-08 08:59:21
阅读次数:
349
线性表的Java实现--顺序存储
线性表(Linear List)是由n(n≥0)个数据元素(结点)a[0],a[1],a[2]…,a[n-1]组成的有限序列。
其中:
数据元素的个数n定义为表的长度 = "list".length() ("list".length() = 0(表里没有一个元素)时称为空表)
将非空的线性表(n>=0)记作:(a[0],a[1],a[2],…,a...
分类:
编程语言 时间:
2014-05-07 02:35:56
阅读次数:
438
线性表的Java实现--链式存储(单向链表)
单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。
链式存储结构的线性表将采用一组任意的存储单元存放线性表中的数据元素。由于不需要按顺序存储,链表在插入、删除数据元素时比顺序存储要快,但是在查找一个节点时则要比顺序存储要慢。
使用链式存储可以克服顺序线性表需要预先知道数据大小的缺点...
分类:
编程语言 时间:
2014-05-06 23:08:53
阅读次数:
391
实现:
/***************************************
数组的顺序表示和实现
by Rowandjj
2014/5/2
----------------
不管是多少维的数组,在内存中都是线性存储的,
数组中每个元素都对应着一个物理地址,它们之间满足一个线性的关系。
比如,3维数组,3*3*2架构,即A[3][3][2],对应常量为6,2,1
bounds ...
分类:
其他好文 时间:
2014-05-03 16:20:54
阅读次数:
269
栈是限定仅在表尾进行插入或者删除操作的线性表。因此,对栈来说,表尾端有特殊含义,称为栈顶,表头端为栈底。不含元素的空表称为空栈。栈的主要特点就是后进先出(LIFO);栈的表示和实现
顺序栈,即栈的顺序存储结构是利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设指针top指示栈顶...
分类:
其他好文 时间:
2014-04-29 09:23:46
阅读次数:
393