自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 JAVA equals方法和Comparable接口该在什么时候实现?

问题的提出在JAVA基础阶段的集合类学习中可以把集合分成下面三大类①Set HashSet、TreeSet②List ArrayList、LinkedList③Map HashMap、TreeMap那么问题来了,哪些需要实现equals和hashcode 哪些需要实现Comparable接口呢? 我们可以从下面两个角度出发元素是否能重复 用equals方法解决元素是否需要排序 用Comparable方法解决分析对于List来说,元素是可重复的。因此

2021-08-26 16:35:21 206

原创 JAVA 多态 从内存角度分析

设父类对象占内存空间100M,子类对象占内存空间50M问题:① 对象转型问题为什么只有父类变量指向子类对象? 因为父类需要100M,只能指向比自己更大的空间父类变量指向子类对象时变量情况? a=pa c()=cc() 父类变量实际上指向的是①和②,pc()实际上被隐藏,只能通过super来访问 ② 重载问题子类对象child的变量情况? a=ca d=d c()=cc() super.c()=pc() super.a=pa b=b总结一个类变量指向的.

2021-08-25 09:23:35 249

原创 图的最小生成树

一 、最小生成树的定义和性质最小生成树说是树,其实上只是图的衍生物(裁掉某些边),并不能用树形结构来写代码最小生成树指的是总权值最小的那颗生成树最小生成树是针对带权无向联通图的最小生成树可能有多个树形,但是一定只有一个序列设顶点数为n 则边数必为n-1二、Prim算法定义:图G=(V,E) 生成树T=(U,E1)步骤: ①判断图G是否为联通图 通过计算对图进行广度搜索得到图的联通分支数,进而判断 ②初始化生成树T 从图G中任取一

2021-08-21 20:39:55 602

原创 c++ 指向同一地址的指针 和 指针的引用

一 指向同一地址的指针pointer *p1;pointer *p2;p2=p1;⭐ p2=p1是让p2和指向同一内存空间,但如果后续p1地址变了,p2的地址不会随之改变。是浅拷贝总结:不要让两个指向同一地址的指针同时操作这个内存空间,会出错 例1 BstNode* p1=tree->GetRoot();//p1=null BstNode* p2 = p1;//p2和p1指向同一地址空间 null cout << p1->data;//地址为0153F308

2021-08-19 23:34:51 1241 1

原创 图的创建和遍历

一、图的创建存储方法 G(v,e)1. 邻接矩阵法(二维数组) ①实现容易 ②操作容易 ③浪费空间(使用静态数组) ④占据空间 O(V^2) ⭐ 记住这个其他反推 ⑤搜索效率 O(v)+O(e) ⭐ ⑥适用于稠密图 e>vlogv ⑦可适用压缩矩阵方法存储(无向图) 2. 邻接表法 ①实现困难 ②不适合于删除点、删除边,效率很低且操作复杂 ⭐ ③适合稀疏图 ④邻接表的顶点邻接顺序不是固定的,因此搜索的结果可能

2021-08-19 20:49:16 1236

原创 平衡二叉树

1.概念平衡二叉树的每个结点左右高度之差不超过1(定义)平衡二叉树是在二叉排序树的基础上实现的,如果是普通的树也能够实现平衡,但并没有什么作用。而在二叉排序树上实现平衡则能够减少检索量,提高二叉排序树的性能平衡二叉树是于二叉排序树的创建同步的,二叉排序树每创建一个结点则对二叉树进行平衡2.实现步骤在建立二叉排序树的过程中:创建需要插入二叉排序树的结点对二叉树进行二分查找,找到适合插入的位置插入;同时记录当前插入的点,记作Current_Node对当前的二叉排序树,递归建立子树

2021-08-15 21:02:10 107

原创 二叉排序树

1.作用①当有序表是静态查找表时,用顺序存储加**二分查找**②当有序表是动态查找表时,用二叉排序树更为恰当③二叉排序树只需需改指针不用移动结点2.操作①构造二叉排序树(插入)②查找二叉排序树③删除二叉排序树某结点若被删结点无子树,则直接删除若被删结点有左子树或右子树,则删除后将子树移交给父节点若被删结点既有左子树又有右子树,则在整颗树内查找被删结点的下一个结点(按找数字大小顺序)。按照下述步骤:①记录下一个结点的值,②删除下一结点(删除此结点需要递归删除),③将下一节点的值赋值给被

2021-08-14 16:56:33 59

原创 二叉树线索化

学习目标:提示:这里可以添加学习目标例如:一周掌握 Java 入门知识学习内容:提示:这里可以添加要学的内容例如:1、 搭建 Java 开发环境2、 掌握 Java 基本语法3、 掌握条件语句4、 掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六上午 9 点-上午 11 点3、 周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如:1、 技术笔记 2 遍2、CSDN 技术博客 3 篇

2021-08-05 20:14:36 338

原创 非递归二叉树遍历

**非递归二叉树遍历**一、 先序遍历 压栈时输出void PreOrder_Stack() { LikedStack<BitNode*>* Stack = new LikedStack<BitNode*>(); BitNode* p = root; while (p != nullptr || !Stack->StackEmpty()) { //在这两种遍历中p最终指向的是最左节点的左空结点 if (p) { vi...

2021-07-29 17:04:57 76

原创 Vue复习03-小知识点

一、计算属性和侦听器计算属性vs成员方法 ---computed vs methods计算属性在调用是不需要加(),而函数在调用时不加()可能会出错。当然有些情况对于计算属性和方法都需要加()比如@change,@click计算属性是基于响应式依赖进行缓存的,比如data,当响应式以来不变时计算属性不变。而函数则是每次调用都执行一次一般对数据进行运算时使用计算属性,对业务逻辑进行处理时使用方法在这种情况下计算属性的值将不会变化computed: { now: function () {

2021-01-31 20:51:31 61

原创 Vue复习02-基本使用

一、实例new Vue({ //挂载到html上 el:'#app', //数据 data:{}, //成员方法 methods:{}, //计算属性 computed:{}, //组件 component:{}, //模板 template:{} })二、基本语法Mustache语

2021-01-31 19:45:38 107 1

原创 Vue复习01-vue的基本概念

Vue复习01-vue的基本概念一.概念 Vue 是一套用于构建用户界面的渐进式框架,何为渐进式框架?即假设你的代码使用JQuery构建,这时候公司需要更新项目使用Vue,你可以将Vue一步步的嵌入JQuery中改变其中的内容渐渐的实现重构什么是MVVM?MVVM:页面输入改变数据,数据改变影响页面数据展示与渲染M(model):普通的javascript数据对象V(view):前端展示页面VM(ViewModel):用于双向绑定数据与页面即M和V中的中间件,Vue里面的VM一般..

2021-01-28 21:46:53 115 1

原创 动态规划------数塔问题(迭代实现)

动态规划------数塔问题一 图二 求解方法(迭代求解)采用自下而上的求解方法,对第4层,下有两条路径,选取其中最长的作为第五层到第四层的路径递推方程 dp[i][j]=max(dp[i+1][j],dp[i+1][j+1])+f[i][j]解释:f[i][j]指的是i,j对应的方块的值dp[4][1]=max(19,7)+2三 Java实现代码import java.util.Scanner;public class NumberTower {private in...

2020-11-08 21:17:29 458

原创 Java容器复习

Java容器复习一 容器api说明(Hashset与TreeSet的区别为 TreeSet是按照字母顺序排序的,Map类似)二 Collection接口2.1一些重要的方法boolean add(Object o):添加成功返回trueboolean remove(Object o):删除成功返回true(如果是要删除自定义类的话需要实现equals方法)boolean contains(Object obj):包含这个对象则返true(其本质是调用一...

2020-11-03 20:04:39 122

原创 Git使用基本命令

git配置 1.获取本机sshkey:ssh-keygen-t-C"[email protected]" 2.配置name和email: git config --global user.name "Your Name" git config --global user.email "[email protected]" 3.配置完后查看本机用户名和密码 git config user.name git config user.email创建版本库mkdir

2020-06-03 19:44:21 110

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除