
数据结构
u013344815
这个作者很懒,什么都没留下…
展开
-
堆排序算法剖析(基于Java)
什么是堆结构? 堆排序的关键是构造堆结构,首先谈一下堆结构的定义,堆结构是一种树结构,准确地说是一个完全二叉树,完全二叉树的定义在这里就不多赘述了,百度知道。 按照排序顺序,堆结构可以分为两种: 1.按照从小到大的顺序排序,要求非叶节点的数据要大于或等于其左、右子节点的数据。 2.按照从大到小的顺序排序,要求非叶节点的数据要小于或等于其左、右子节点的数据。 本文以从小到大的顺序为例进行介原创 2015-10-11 20:35:30 · 687 阅读 · 1 评论 -
非递归实现二叉树遍历(思路+代码)
package 非递归遍历二叉树;import java.util.*; //导入含有集合框架的包public class Example { static int SIZE=10; //设定数组大小 /* * 构建createArray方法生成大小为SIZE的随机数组 * Math。random()方法返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。原创 2015-12-06 16:43:00 · 617 阅读 · 0 评论 -
链表算法题小结
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)和O(1)原创 2016-11-06 16:07:36 · 466 阅读 · 0 评论 -
二叉树遍历(Java)---前序遍历,中序遍历,后序遍历
什么是遍历二叉树?遍历二叉树指的是按某种规律依次访问二叉树的每个节点,对二叉树的遍历过程就是将非线性结构的二叉树中的节点排列成线性序列的过程。遍历二叉树有哪几种方法?如果采用链表来保存二叉树的节点,则有以下两种遍历方式。 深度优先遍历:这种遍历算法将先访问到树中最深层次的节点。 广度优先遍历:这种遍历算法将逐层访问每层的节点,广度优先遍历又被称为按层遍历。 对于深度优先原创 2015-10-19 11:28:36 · 1171 阅读 · 0 评论