自定义博客皮肤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 239

原创 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 281

原创 图的最小生成树

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

2021-08-21 20:39:55 651

原创 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 1389 1

原创 图的创建和遍历

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

2021-08-19 20:49:16 1303

原创 平衡二叉树

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

2021-08-15 21:02:10 121

原创 二叉排序树

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

2021-08-14 16:56:33 85

原创 二叉树线索化

学习目标: 提示:这里可以添加学习目标 例如:一周掌握 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 378

原创 非递归二叉树遍历

**非递归二叉树遍历** 一、 先序遍历 压栈时输出 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 91

原创 Vue复习03-小知识点

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

2021-01-31 20:51:31 74

原创 Vue复习02-基本使用

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

2021-01-31 19:45:38 126 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 138 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 492

原创 Java容器复习

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

2020-11-03 20:04:39 139

原创 Git使用基本命令

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

2020-06-03 19:44:21 136

空空如也

空空如也

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

TA关注的人

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