- 博客(33)
- 收藏
- 关注
原创 6.3图的遍历
图的遍历是指从某点出发,按照某种搜索方式沿着边访问图中所有节点图的遍历算法主要有两种:广度优先,深度优先都需要辅助数组visited[]来记录节点是否被访问过。
2024-09-08 08:39:56 162
原创 6.2图的存储及基本操作
邻接矩阵法,用一个一维数组存储图中顶点信息,二维数组存储图中边的信息无向图1.无向图的邻接矩阵关于对角线对称,可采用压缩存储2.边数为e,则邻接矩阵中1为2e;3.第i行or 第i列非零元素之和恰好为顶点i的度数4.判断是否有边用0,15.有向图1.关于对角线不对称2.行表示入度,列表示出度,行+列表示该顶点的度。
2024-09-06 21:54:24 246
原创 6.1图的基本定义
无向完全图:任意两个顶点都存在边,n个顶点有n(n-1)/2条边有向完全图:任意两个顶点间都存在方向相反的两条弧,有n(n-1)条边.
2024-09-06 08:07:09 163
原创 5.5树与二叉树的应用
路径长度:路径上的分支书目权值:被赋予某种意义的值最优二叉树/哈夫曼树:n个带权叶节点的二叉树中,带权路径长度wpl最小的二叉树为哈夫曼树。
2024-09-04 09:56:50 435
原创 5.1树的基本概念
树是n>=0的有限集.树适用于有层次结构的数据只有根节点无前驱只有叶子节点无后继有后继的节点为分支节点除根节点外,任何一个节点都有且只有一个前驱。
2024-08-08 19:08:12 219 1
原创 3.3栈和队列的应用
思路:1.遍历字符数组2.if为左括号,则入栈;if为右括号,1)空栈---返回false2)出栈e,if不匹配返回false,if匹配则继续循环3.循环结束,判断栈是否为空.if为空栈,返回true,if非空,返回false。
2024-08-01 21:05:26 334
原创 3.1栈.
栈是只能在一端进行插入,删除操作的线性表;栈的操作特征为先进后出,栈的逻辑结果为线性结构,是一种特殊的线性表.栈顶:允许插入,删除栈底:不允许插入删除//顺序栈定义int top;}sqStack;int data;//数据//指针。
2024-07-30 18:00:57 193
原创 Pat 乙级题目练习惹~
卡拉兹(Callatz)猜想:对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……
2024-03-14 20:26:59 383 1
原创 Leetcode
p2=p2.next;,请你反转链表,并返回反转后的链表。设立一个哨兵节点sentinel。,请你删除链表中所有满足。给你一个链表的头节点。
2024-03-06 21:03:05 298 1
原创 java一些东西
n 换行 相当于 \n%c 单个字符%d 十进制整数%u 无符号十进制数%f 十进制%o 八进制数%x 十六进制数%s 字符串%% 输出百分号。
2024-02-07 23:15:45 317 1
原创 多路递归*
给定三根柱子,记为 a ,b,c。其中 a 柱子上有 n 个盘子,上面的盘子一定比下面的盘子小。问:将 a 柱上的盘子经由 b 柱移动到 c 柱最少需要多少次? 移动时应注意:① 一次只能移动一个盘子 ②大的盘子不能压在小盘子上n=2圆盘1 a->b圆盘2 a->c圆盘1 b->cn=3圆盘12 a->b圆盘3 a->c圆盘12 b->c。
2024-02-07 23:15:30 1245 1
原创 链表Linked list
单向链表概述定义:元素储存上并不连续分类单向链表:每个元素只知道下一个元素是谁双向链表:每个元素只知道上一个和下一个元素循环链表:尾节点指向头节点性能1)随机访问性能根据index找元素,时间复杂度O(n);2)插入(删除)中间插入:找索引O(n)+插入O(1)=O(n)起始插入:插入O(1)结尾插入:双向O(1)单向O(n)+O(1)=O(n)单向链表。
2024-01-27 17:46:16 795
原创 动态数组--java
定义size 数组中的逻辑大小,有效元素个数capacity 容量int [] array 一个静态数组方法数组拷贝System.arraycopy(原数组,从哪开始拷贝,拷贝到哪个数组--目标数组,目标数组的起始位置,拷贝几个元素);
2024-01-25 21:07:13 336 1
原创 二分搜索--java
在一个升序数组中,设置左索引i,右索引j,和中间值mid,判断目标值与中间值的大小,1)target>中间值,则target在右侧,i=mid+1;2)targetj,还没有找到,则数组中无该索引,返回-1;与源码补码有关,所以用mid=i+j>>>1。基础:j指向一个元素,也在可查找空间中。2.mid=(i+j)/2的隐患。1.i
2024-01-24 16:14:19 370 1
原创 期末反射-自用
运行方法Method.invoke(运行类的对象,传入方法对应的参数参数),获取注释。get(Declared)Constructor(参数1.class,参数2.class.......)传递对应的参数,返回对应的方法。get(Declared)Constructor(传递对应的参数,返回对应的方法)Method.invoke(运行类的对象,传入方法对应的参数参数)get(Declarad)Method("方法名",参数的类型)get(Declarad)Method("方法名",参数的类型)
2023-12-27 19:11:57 1320 1
原创 速度计算--反射
案例:速度计算本案例要求使用反射技术编写一个速度计算程序,计算某种交通工具的行驶速度。现有两种工具:Bike和 Plane,其中Bike的速度运算公式为:A*B/C,Plane的速度运算公式为:A+B+C。用户可通过输入交通工具名称选择自己想要使用的交通工具,选择交通工具之后,自动计算出该交通工具的行驶速度。此外,在未来如果增加第3种交通工具的时候,不必修改以前的任何程序,只需要编写新的交通工具的程序即可。
2023-12-27 19:10:52 457 1
原创 作业homework
案例:速度计算本案例要求使用反射技术编写一个速度计算程序,计算某种交通工具的行驶速度。现有两种工具:Bike和 Plane,其中Bike的速度运算公式为:A*B/C,Plane的速度运算公式为:A+B+C。用户可通过输入交通工具名称选择自己想要使用的交通工具,选择交通工具之后,自动计算出该交通工具的行驶速度。此外,在未来如果增加第3种交通工具的时候,不必修改以前的任何程序,只需要编写新的交通工具的程序即可。一、反射的两个练习题。
2023-12-27 12:55:40 360
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人