数据结构
文章平均质量分 95
奋斗べ青年.
本科 学生
展开
-
【数据结构】Map、Set和哈希表的练习
堆当中放入一组单词的当中频率最高的k个元素都在小根堆当中。所以我们将小根堆当中的元素放入List集合当中,在List集合当中,数据还是按照频率的从小到大存放的,题目要求按照从大到小输出,所以这里我们使用Collections接口的reserve方法将List当中的元素逆置。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。当两个单词出现的频率不同的时候,用单词出现的频率进行比较,当两个不同的单词出现的频率相同的时候,则使用字符的比较器进行比较。按照发现顺序,在一行中输出坏掉的键。原创 2023-04-10 20:36:16 · 336 阅读 · 1 评论 -
【数据结构】树与二叉树
对一棵具有n个结点的二叉树按层序编号,如果编号为i(1原创 2023-02-28 21:20:22 · 967 阅读 · 0 评论 -
【数据结构】栈和队列
栈:一种特殊的线性表,其只允许在固定的一段进行插入和删除元素操作。栈顶(Top):线性表允许进行插入删除的那一端。栈底(Bottom):固定的,不允许进行插入和删除的另一端。空栈:不含任何元素的空表。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出战:栈的删除操作叫做出栈,出数据在栈顶。双端队列(deque)是指允许两端都可以进行入队和出队操作的队列,如下图所示。其元素的逻辑结构仍是线性结构。原创 2023-02-17 16:54:39 · 742 阅读 · 0 评论 -
【数据结构】双向链表的模拟实现(无头)
单向链表能够解决逻辑关系为"一对一"数据的存储问题,但是在解决某些特殊问题的时候,单链表并不是效率最有的存储结构。比如,需要找某个节点的前驱节点,使用单链表并不合适,单链表更适合"从前往后"找,而"从后往前"找并不是单链表的强项。这里就要使用双向链表来解决这类问题。原创 2023-02-11 22:32:00 · 917 阅读 · 1 评论 -
【数据结构】单向链表的模拟实现
定义一个MySingleList类,在其内部实现一个类Node(内部类)。内部类在这里的作用是,链表当中的结点,链表当中有结点,也有head头节点。public class MySingleList {//链表//定义一个内部类class Node{//结点//存储数据//存储下一个节点的地址//这里给next定义参数,因为在定义一个新的结点的时候,我们不知道下一个节点的地址是什么。//代表当前链表的头节点的引用,head头节点,他还是结点,所以还是用Node作为类型。原创 2023-02-07 21:29:46 · 500 阅读 · 0 评论 -
【数据结构】ArrayList的具体使用(杨辉三角、扑克牌游戏)
subList方法截取数组的某一部分,实际上是将elementData数组的1下标给了sub引用,实际上,sub引用和arrayList1引用指向同一个数组,所以通过sub修改0下标的值,也就修改了elementData数组的1下标元素。remove方法,在这里稍微有一些特殊,我们想要删除数组中2元素,在我们自己写的remove方法中,要删某个元素,直接输入元素,在数组中找到就可以删除。❗❗❗在这里我们要说一个知识点,在实例化类的时候,指定的类型Integer,Character等都是类类型。原创 2023-02-02 20:53:59 · 499 阅读 · 0 评论 -
【数据结构】认识顺序表
/当前数组当中存储了多少数据。public MyArrayList(){//定义一个数组默认大小为10//重载MyArrayList方法,初始化数组的时候,数组大小由调用者,控制主要逻辑就是在useSize位置,将新元素放入。但是这里存在一个问题,就是数组在满了的情况下,再存入数据,就会数组越界,那么还得判断数组是否满了,满了对数组进行扩容。/** 判断数组是否满了*///也可以直接return/**扩容,对原来的数组扩大原来的2倍*/resize();原创 2023-01-30 20:06:21 · 295 阅读 · 0 评论 -
【数据结构】浅识泛型
方法限定符 返回值类型 方法名称(形参列表){...示例:还是上述代码,找数组中的最大值//相当于给这个方法指定参数类型为E,并实现Comparable接口,给这个方法做一定的约束i++){//实现类Comparable,调用CompareTo方法,进行元素比较return max;❓❓那么这里就有一个疑问,从哪里传给findMax方法类型的参数呢?是从这里画出来的地方是可以省略的,它可以从findMax方法的参数中去反推,传给E的是Integer类型。原创 2023-01-28 00:27:30 · 323 阅读 · 0 评论 -
【数据结构初阶(Java)】认识时间复杂度和空间复杂度
如何衡量一个算法的好坏呢?这里就要提到时间复杂度和空间复杂度的概念。原创 2023-01-19 18:55:59 · 1224 阅读 · 0 评论