![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法(java)
文章平均质量分 94
数据结构与算法java实现
Crescent_P
Talk is cheap.Show me the code.
展开
-
优先队列
1.最大优先队列1.定义可以获取并删除队列中最大的值2.API设计3.代码实现package com.caopeng.ZTestpackage.priority;public class MaxPriorityQueue<T extends Comparable<T>> { // 用来存储元素的数组 private T[] items; // 记录队列中元素的个数 private int N; public MaxPriori原创 2020-11-22 14:01:19 · 106 阅读 · 0 评论 -
堆
一.堆的定义堆是计算机科学中一类特殊的数据结构的统称,堆通常可以被看做是一棵完全二叉树的数组对象。二.API设计三.代码实现public class Heap<T extends Comparable<T>>{ private T[] items; private int length; public Heap(int capacity) { this.length = 0; items = (T[])new Co原创 2020-11-22 13:49:44 · 101 阅读 · 0 评论 -
树的初步
一.二叉树的入门1.1 树的基本定义(一对多)树具有以下特点:1.每个结点有零个或多个子结点;2.没有父结点的结点为根结点;3.每一个非根结点只有一个父结点;4.每个结点及其后代结点整体上可以看做是一棵树,称为当前结点的父结点的一个子树;1.2 树的相关术语结点的度:一个结点含有的子树的个数称为该结点的度;叶结点:度为0的结点称为叶结点,也可以叫做终端结点分支结点:度不为0的结点称为分支结点,也可以叫做非终端结点结点的层次:从根结点开始,根结点的层次为1,根的直接后继层次为2原创 2020-10-17 14:42:20 · 178 阅读 · 2 评论 -
线性表
一.线性表1.1 线性表概述1.1.1 概念线性表是最基本、最简单、也是最常用的一种数据结构。一个线性表是n个具有相同特性的数据元素的有限序列。1.1.2 前驱与后驱前驱元素:若A元素在B元素的前面,则称A为B的前驱元素后继元素:若B元素在A元素的后面,则称B为A的后继元素1.1.3 线性表的特征数据元素之间具有一种“一对一”的逻辑关系。第一个数据元素没有前驱,这个数据元素被称为头结点;最后一个数据元素没有后继,这个数据元素被称为尾结点;除了第一个和最后一个数据元素外,其他数据元原创 2020-09-09 08:11:13 · 6992 阅读 · 0 评论 -
排序算法
一.Comparable接口的介绍由于我们这里要讲排序,所以肯定会在元素之间进行比较,而Java提供了一个接口Comparable就是用来定义排序规则的,在这里我们以案例的形式对Comparable接口做一个简单的回顾。需求:1.定义一个学生类Student,具有年龄age和姓名username两个属性,并通过Comparable接口提供比较规则;2.定义测试类Test,在测试类Test中定义测试方法Comparable getMax(Comparable c1,Comparable c2)完成测试原创 2020-08-08 11:24:35 · 177 阅读 · 0 评论 -
数据结构与算法概述
一.数据结构1.1 数据结构的定义数据结构是计算机存储、组织数据的方式1.2 数据结构的分类逻辑结构:1.集合结构:结合结构中数据元素除了属于同一个集合以外,没有任何关系2.线性结构:线性结构中存在一对一的关系3.树形结构:树形结构的数据存在一对多的关系4.图形结构:图形结构的数据存在多对多的关系物理结构:顺序存储结构:把数据元素放到地址连续的存储单元里面,其数据间的逻辑关系和物理关系是一致的 ,比如我们常用的数组就是顺序存储结构链式存储结构:是把数据元素存放在任意的存储单元原创 2020-08-05 11:02:31 · 116 阅读 · 0 评论