
数据结构与算法
Marvellous丶
这个作者很懒,什么都没留下…
展开
-
Java实现稀疏数组
一、线性结构 线性结构是最常用的数据结构,其特点是数据元素之间存在一对一的线性关系 线性结构有两种不同存储结构,即顺序存储结构和链式存储结构 顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的,即在内存中是连续的,例如数组 链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息,但好处是可以充分利用碎片地址 线性结构常见的有:数组、队列、链表和...转载 2019-08-21 11:16:43 · 5553 阅读 · 3 评论 -
Java实现冒泡排序、选择排序、插入排序、希尔排序、归并排序、基数排序
Java实现了冒泡排序、选择排序、插入排序、希尔排序、归并排序、插入排序 先定义工具类用于交换两个数 public class SwapUtils { public void swap(int[] arr,int i ,int j){ if(arr[i]>arr[j]){ int temp = arr[i]; arr[i...原创 2019-05-07 17:34:08 · 297 阅读 · 0 评论 -
数据结构——队列
一、队列简介 队列是一个有序列表,可以用数组或是链表来实现。 遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出 示意图:(使用数组模拟队列示意图) 二、数组实现队列 队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下图, 其中 maxSize 是该队列的最大容量 因为队列的输入、输出分别是从前后端来处理的,因此需要两个变量fro...原创 2019-08-23 14:25:46 · 280 阅读 · 0 评论 -
数据结构——单链表节点的增删改查
单链表节点的增删改查 场景所需的实体类 class Person{ int num; //编号 String name; //姓名 int age; //年龄 Person next; //下一个节点 public Person() { } public Person(int num, String name, int age) { ...原创 2019-09-03 13:21:51 · 487 阅读 · 0 评论 -
几种数据结构的分析、树、二叉树前序、中序、后序遍历(Java实现)
一、为什么需要树这种数据结构 1. 数组存储方式的分析 优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度 缺点:如果要检索具体某个值,或者插入值**(按一定顺序)**会整体移动,效率较低 2. 链式存储方式的分析 优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将插入节点,链接到链表中即可, 删除效率也很好) 缺点:在进行检索时,效率仍然较低,...原创 2019-09-18 18:23:52 · 619 阅读 · 0 评论 -
Java实现二叉树的前序、中序、后序查找、删除结点
请编写前序查找,中序查找和后序查找的方法,分别使用三种查找方式,查找 num = 5 的节点 我们一这样一棵二叉树为例 一、前序查找 实现思路: 先判断当前节点的num是否等于要查找的,如果相等,则返回当前节点 如果不相等,则判断当前节点的左子节点是否为空,如果不为空,则递归前序查找 如果左递归前序查找找到节点则返回该节点,否则继续判断当前节点的右子节点是否为空,如果不为空,则继续右递归前序...原创 2019-09-19 00:00:07 · 464 阅读 · 1 评论