数据结构与算法
疾行的蜗牛
这个作者很懒,什么都没留下…
展开
-
数据结构与算法:二叉树的先序遍历(递归与非递归方法)
数据结构与算法:二叉树的先序遍历(递归与非递归方法)public class BinaryTree<E> { private TreeNode<E> root; //根节点 private List<TreeNode> nodeList = null; //二叉树节点的链式结构 public BinaryTree(...原创 2019-05-15 22:10:23 · 1181 阅读 · 0 评论 -
Java实现各种内部排序算法
Java实现各种内部排序算法数据结构中常见的内部排序算法: 插入排序:直接插入排序、折半插入排序、希尔排序 交换排序:冒泡排序、快速排序 选择排序:简单选择排序、堆排序 归并排序、基数排序、计数排序直接插入排序: 思想:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中,直到全部记录插入完成。 性能:时间复杂度:最好o(n):有序...原创 2019-05-16 10:12:58 · 167 阅读 · 0 评论 -
Java实现堆排序(大根堆)
Java实现堆排序(大根堆)堆排序是一种树形选择排序方法,它的特点是:在排序的过程中,将array[0,...,n-1]看成是一颗完全二叉树的顺序存储结构,利用完全二叉树中双亲节点和孩子结点之间的内在关系,在当前无序区中选择关键字最大(最小)的元素。1. 若array[0,...,n-1]表示一颗完全二叉树的顺序存储模式,则双亲节点指针和孩子结点指针之间的内在关系如下: 任意一节点指...原创 2019-05-16 10:12:28 · 338 阅读 · 0 评论 -
Java实现链式存储的二叉查找树(递归方法)
Java实现链式存储的二叉查找树(递归方法)二叉查找树的定义: 二叉查找树或者是一颗空树,或者是一颗具有以下特性的非空二叉树: 1. 若左子树非空,则左子树上所有节点关键字值均小于根节点的关键字; 2. 若右子树非空,则右子树上所有节点关键字值均大于根节点的关键字; 3. 左、右子树本身也分别是一颗二叉查找树。二叉查找树的实现,功能有: 1....原创 2019-05-16 10:12:09 · 575 阅读 · 0 评论 -
Java实现链式存储的二叉树
Java实现链式存储的二叉树二叉树的定义: 二叉树(BinaryTree)是n(n≥0)个结点的有限集,它或者是空集(n=0),或者由一个根结点及两棵互不相交的、分别称作这个根的左子树和右子树的二叉树组成。 二叉树的遍历方式主要有:先序遍历(NLR),中序遍历(LNR),后序遍历(LRN),和层次遍历。 注意: 由二叉树的先序序列和中序序列可以唯一地确定一颗二叉树...原创 2019-05-16 10:12:43 · 1921 阅读 · 0 评论 -
Java实现栈和队列
Java实现栈和队列栈:LIFO(后进先出)队列:FIFO(先进先出)栈的顺序存储结构实现:/** * 基于数组实现的顺序栈 * @param <E> */public class Stack<E> { private Object[] data = null; private int maxSize=0; //栈容量 ...原创 2019-05-16 10:11:55 · 120 阅读 · 0 评论 -
Java实现线性表-顺序表示和链式表示(java)
Java实现线性表-顺序表示和链式表示(java)顺序表示和链式表示的比较:1.读写方式:顺序表可以顺序存取,也可以随机存取;链表只能从表头顺序存取元素;2.逻辑结构与物理结构:顺序存储时,逻辑上相邻的元素其对应的物理存储位置也相邻;链式存储时,逻辑上相邻的元素,其物理存储位置则不一定相邻;3.查找、插入和删除操作: 按值查找,当线性表在无序的情况下,两者的时间复杂度均为o(...原创 2019-05-16 10:11:35 · 450 阅读 · 0 评论 -
数据结构与算法:二叉树的层次遍历(队列)
数据结构与算法:二叉树的层次遍历(队列)public class BinaryTree<E> { private TreeNode<E> root; //根节点 private List<TreeNode> nodeList = null; //二叉树节点的链式结构 public BinaryTree(){ ...原创 2019-05-15 22:16:01 · 656 阅读 · 0 评论 -
数据结构与算法:二叉树的后序遍历(递归与非递归方法)
数据结构与算法:二叉树的后序遍历(递归与非递归方法)public class BinaryTree<E> { private TreeNode<E> root; //根节点 private List<TreeNode> nodeList = null; //二叉树节点的链式结构 public BinaryTree()...原创 2019-05-15 22:14:28 · 521 阅读 · 0 评论 -
数据结构与算法:二叉树的中序遍历(递归与非递归方法)
数据结构与算法:二叉树的中序遍历(递归与非递归方法)public class BinaryTree<E> { private TreeNode<E> root; //根节点 private List<TreeNode> nodeList = null; //二叉树节点的链式结构 public BinaryTree()...原创 2019-05-15 22:12:17 · 962 阅读 · 0 评论 -
Java实现基于桶式排序思想和计数排序思想实现的基数排序
Java实现基于桶式排序思想和计数排序思想实现的基数排序计数排序 前提:待排序表中的所有待排序关键字必须互不相同; 思想:计数排序算法针对表中的每个记录,扫描待排序的表一趟,统计表中有多少个记录的关键码比该记录的关键码小,假设针对某一个记录,统计出的计数值为c,则该记录在新的有序表中的存放位置即为c。 性能:空间复杂度:o(n);时间复杂度:o(n^2);publ...原创 2019-05-16 10:13:24 · 189 阅读 · 0 评论