- 博客(9)
- 收藏
- 关注
原创 数据结构演化
树的深度会增加,是因为二叉,如果变成多叉,引入B树。 B树(一个有序的多叉树),解决了二叉树随着数据增加深度增加的问题,那么当数据甚至多到B树存不了时,而我们又不想增加深度来解决这个问题,此时引入B+树。(2)演化:顺序表——>哈希(冲突)——>树——>二叉树——>BST二叉查找(排序)树——>AVL平衡二叉树——>红黑树——>B-树(B树)——>B+树。 二叉平衡树,用插入的成本弥补查询的效率,适用于插入少查询多的情况,不适合插入多查询少的情况。我们要做的是让它旋转,保持形态,引入二叉平衡树。
2023-11-08 10:19:29
79
1
原创 王道数据结构试题总结
A.数据元素 B.数据对象 C.数据关系 D.抽象数据类型解析:D,抽象数据类型(ADT)描述了数据的逻辑结构和抽象运算,通常用(数据对象,数据关系,基本操作集)这样的三元组来表示,从而构成了一个完整的数据结构定义。
2023-11-08 09:50:20
703
1
原创 pat乙级第1111题对称日
央视新闻发了一条微博,指出 2020 年有个罕见的“对称日”,即 2020 年 2 月 2 日,按照年年年年月月日日格式组成的字符串 20200202 是完全对称的。给定任意一个日期,本题就请你写程序判断一下,这是不是一个对称日?
2023-07-16 15:22:54
178
1
原创 已知待排序初始序列用单链表存储,头指针head指向第一个结点,从这个待排序列中找出最小结点,插入head之后,用r来指示。r以前为已排序序列,r以后为未排序序列。再从未排序序列中找出最小结点,反复操作
问题描述已知待排序初始序列用单链表存储,头指针head指向第一个结点,从这个待排序列中找出最小结点,插入head之后,用r来指示。r以前为已排序序列,r以后为未排序序列。再从未排序序列中找出最小结点插入r的后面,让r指向这个结点。反复执行这个过程,直到排好序。输入链表结点的个数,结点的数据输出排序过程以及最终结果存储结构链表源代码import java.util.Scanner;public class LNode { int data; LNode next;
2022-01-14 23:42:33
232
原创 Java实现邻接表表示无向图,并求连通分量数
问题描述用邻接表表示无向图,并求无向图的连通分量数输入结点的数据,边的数据:包括这条边的数据如权值,邻接点域,指向下一条边的指针输出邻接表,连通分量的个数存储结构邻接表算法的基本思想用邻接表来表示图,图的构造方法中有两个参数,第一个为一维数组,包含结点的数据;第二个为二维数组,一共n行3列,行表示边数,前两列为边的相邻两个顶点,最后一列为边的权值等信息。构造过程经过一个双层for循环,第一层遍历结点,第二层遍历边的信息,判断边的相邻两个顶点是否与顶点集中的某个元素相等,相等则添加到该顶点的
2022-01-14 23:31:51
1013
原创 Java创建二叉树,并使用递归算法求二叉树中叶子结点的数目
问题描述创建二叉树,并使用递归算法求二叉树中叶子结点的数目输入输入一个用’.'来标明空子树的先根遍历序列,如ABD…EH…CF.I…G…输出叶子结点的个数存储结构二叉树算法的基本思想首先将输入的先序遍历的字符串转化为字符数组,依次比较数组中的每个字符,若等于“.”,则根赋值为空。不是“.”的字符为根赋值,递归调用方法按照先序根左右。源代码import java.util.Scanner;public class BiTreeNode { public Object data
2022-01-14 23:22:37
1899
原创 Java实现顺序表(设顺序表A中的数据元素递增有序,试写一程序,将x插入到顺序表的适当位置上,使该表仍然有序)
问题描述设顺序表A中的数据元素递增有序,试写一程序,将x插入到顺序表的适当位置上,使该表仍然有序输入顺序表元素的个数,顺序表中递增有序的多个数,要插入的数输出原顺序表的数据,插入一个数后顺序表的数据存储结构采用顺序表存储算法的基本思想自定义一个类,包含两个属性,一个为数组用来记录数据,一个为int型数据用来记录数组的容量。顺序表的初始化:设置默认值即使用无参构造时会实例化一个默认值大小的数组,数组容量也为默认值,若使用有参构造进行初始化,由使用者决定数组的容量。数组扩容:通过一个新的数组实
2022-01-14 22:42:57
1870
2
原创 maven中不能继承HttpServlet类的解决方法
关于maven项目中自定义的类不能继承HttpServlet类的解决方法在pom.xml中导入相关的依赖即可在此处寻找依赖:Maven Repository: Search/Browse/Explore (mvnrepository.com)任找一个版本的依赖,如:<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifa
2021-07-30 18:07:08
943
原创 Java实现小学数学练习系统
小学数学练习1、问题描述编写一个帮助小学生练习数学的程序,帮助小学生练习 100 以内的四种数学运算:加、减、乘、除。2、要求(1)程序应先询问用户的 ID 号(ID 号包括两个大写字母和 4 位数字),例如: 请输入用户 ID 号:AB1234,ID无误后方可进入菜单界面。(2)对菜单的要求:必须有的功能有测试、检查历史成绩、检查答题情况、退出系统(3)对题目的要求:学生将依次回答每一个问题(在等于号后面给出答案),然后给出下一道题。试题应包含四种数学运算:加、减、乘、除,它们是随机产生的。相
2021-07-24 22:35:21
3903
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人