![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法
学习数据结构和算法
当当逗儿
这个作者很懒,什么都没留下…
展开
-
降序显示前50素数
使用栈降序显示前50个素数(质数)Stack stack=new Stack(); stack.push(2); int i=3; while(stack.size()<51){ boolean bool=false; for(int j=2;j<=Math.sqrt(i);j++){原创 2017-12-22 15:51:35 · 367 阅读 · 0 评论 -
二叉查找树的构建及遍历
*二叉树:由一个称为根的元素和两棵不同的子二叉树组成。 二叉查找树(没有重复元素)特点:每一个结点左子树中的值都小于该结点的值,右子树中结点的值都大于该结点的值。 完全二叉树:二叉树除了最后一层以外的每一层都是满的,而且最后一层的叶子都是在左边。*二叉树结点的定义 class TreeNode{ Object element; TreeNode left;原创 2017-12-22 10:32:44 · 205 阅读 · 0 评论 -
java集合--Queue用法
作者:sam 出处:http://www.cnblogs.com/samjustin/ 队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。在队列这种数据结构中,最先插入的元素将是最先被删除的元素;反之最后插入的元素将是最后被删除的元素,因此队列又称为“先进先出”转载 2017-12-25 18:40:06 · 153 阅读 · 0 评论 -
冒泡,归并,快速排序
冒泡排序:较小的数值逐渐浮向顶部,较大的数值逐渐沉向底部。具体操作:根据下标比较其值,即,位置1数值和位置2数值比较,数值2>数值1则互换位置,否则继续比较位置2和位置3数值,依次后推。。。 代码如下: /*初始数组元素*/ int [] arr= {1,2,3,4,5,6,7}; /*冒泡排序*/ for(int j=0;jlength;j++){ for(int i=0;ile原创 2018-01-06 10:42:09 · 187 阅读 · 0 评论 -
堆的添加,删除元素
堆是二叉树,可以使用二叉树数据结构表示堆。 特征: 1、它是个完全二叉树 2、它的每个结点都大于等于它的任何孩子结点 对于位置i处的结点,它的左孩子在2×i+1处,右孩子在2×i+2处,其父结点在(i-1)/2处。 import java.util.ArrayList; /** * 实现堆的类 * 使用线性数组实现 */ public class Heap {原创 2017-12-25 14:46:46 · 1132 阅读 · 0 评论