数据结构
文章平均质量分 69
1
粉色的志明
越努力,越幸运,Come on!喜欢记录一些学习过程中的笔记,感谢大家支持!
展开
-
浅谈栈和队列(java版)
栈和队列栈概念压栈 和 出栈实现栈队列概念普通队列模拟实现栈概念栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则.压栈 和 出栈压栈 : 就是栈的插入操作,也叫进栈,入栈,往栈顶放.出栈 : 栈的删除操作叫做出栈,就是栈顶元素往外出.实现栈它可用顺序表实现,也可以用链表实现,顺序表较为简单,我这里用顺序表模拟实现,更容易理解一些public原创 2022-03-16 20:13:07 · 1149 阅读 · 2 评论 -
常见排序(java实现)
排序插入排序图解代码实现插入排序图解代码实现public class TestDemo { public static void main(String[] args) { int[] array = {5,4,3,2,1}; //定义数组 insertSort(array); System.out.println(Arrays.toString(array)); } public static void insertS原创 2022-04-03 12:26:26 · 1177 阅读 · 2 评论 -
学习 堆 / 优先队列
堆概念堆逻辑上是一棵完全二叉树堆物理上是保存在数组中满足任意结点的值都大于其子树中结点的值,叫做大堆,或者大根堆,或者最大堆反之,则是小堆,或者小根堆,或者最小堆堆的基本作用是,快速找集合中的最值操作 - 向下调整首先,知道了他是一颗完全二叉树...原创 2022-03-30 20:10:53 · 875 阅读 · 1 评论 -
学习二叉树(java版)
树概念树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的** 特点**:**1:**有一个特殊的结点,称为根结点,根结点没有前驱结点.**2:**除根结点外,其余结点被分成M(M > 0)个互不相交的集合T1、T2、…、Tm,其中每一个集合 Ti (1 <= i<= m) 又是一棵与树类似的子树。每棵子树的根结点有且只有一个前驱,可以有0个或多个后继.**3:原创 2022-03-18 10:46:20 · 689 阅读 · 1 评论 -
ArrayList与顺序表
目录ArrayList简介ArrayList简介在集合框架中,ArrayList是一个普通的类,实现了List接口,具体框架图如下:【说明】1. ArrayList实现了RandomAccess接口,表明ArrayList支持随机访问2. ArrayList实现了Cloneable接口,表明ArrayList是可以clone的3. ArrayList实现了Serializable接口,表明ArrayList是支持序列化的4. 和Vector不同,ArrayList不是线程安全的,在单线程下可以原创 2021-12-05 14:29:02 · 632 阅读 · 1 评论 -
集合框架及背后的数据结构(部分)
目录介绍Java 集合框架的优点及作用接口 interfacesCollection 常用方法将元素 放入集合中删除集合中的所有元素返回一个装有所有集合中元素的数组如果元素 e 出现在集合中,删除其中一个返回集合中的元素个数Map 常用方法将指定的 k-v 放入 Map (V put(K key, V value))|| 根据指定的 k 查找对应的 v,没有找到用默认值代替 (V get(Object k))|| 判断是否包含 key (boolean containsKey(Object key))将原创 2021-12-04 16:21:07 · 125 阅读 · 1 评论 -
单链表无头非循环与双链表无头循环Java实现
链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的 。话不多说,直接开撕—下面先来单链表,先放今天要实现的内容模板// 1、无头单向非循环链表实现public class SingleLinkedList { //头插法 public void addFirst(int data); //尾插法 public void addLast(int data); //任意位置插入,第一个数据节点为0号下标原创 2021-11-11 20:30:13 · 803 阅读 · 2 评论 -
口诉讲解Java实现顺序表
老规矩,看前欣赏美图今天给大家分享一下数据结构中一个简单的顺序表。首先,谈到数据结构,都知道他的逻辑是非常严谨的,要想学好数据结构,我们必须要做到的是多画图,多敲代码。很多东西你可能看得懂,但是你一上手,你就会发现,你根本写不出来,前期你可以适当的抄代码,但最后你还得自己思考,自己画图,然后敲代码。今天,我就口头叙述该如何实现以下代码。这是我们要实现的模板:// 打印顺序表 public void display() { } // 获取顺序表的有效数据长度 public原创 2021-11-02 15:57:53 · 537 阅读 · 6 评论