自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 链表反转系列

目录反转整个链表反转链表前N个元素反转链表[m,n]区间的元素(节点从1开始计数)反转整个链表递归法ListNode* reverse(ListNode* head) { if(!head || !head->next) { return head; } ListNode* pre = head; ListNode* cur = head->next; pre->next = NULL; while(c

2022-01-03 12:55:25 262 1

原创 树->平衡二叉树(AVL)

背景:该准备实习了,接下来这段时间将总结一些常见的树,这次就先从AVL开始。AVL定义空树为AVL 任何一个节点,左子树上的所有值均小于该节点的值,右子树上的所有值均大于该节点的值 任何一个节点,其左右子树的高度差不超过1 任何一个节点,其左子树和右子树均为AVL通过对AVL的定义,我们能抽象出AVL节点的定义如下:struct Node{ int val;//节点保存的值 Node* left;//左子树 Node* right;//右子树 int height;/.

2021-04-08 13:13:03 104

原创 Clean My Mac(适用于Mac OS Catalina 10.15.4)

资源下载链接:https://download.csdn.net/download/qq_34940577/12438556

2020-06-03 08:45:26 289

原创 设计模式->原型模式

原型模式,属于创建型设计模式中的一种,但是其不同于其余几种设计模式。它并未显式使用new关键字调用构造方法来初始化对象,而是通过调用clone方法来实现对象初始化。具体是怎么实现呢,我们还是通过一个实际问题来讲解。我们在找工作的时候肯定都会写简历,但是我们会给不同的公司投,这时候,只有一份简历明显是不够的,你总得一家公司寄一份简历吧。所以我们要准备好若干份简历,投给不同的公司,但是这些简历...

2019-02-27 18:14:29 74

原创 设计模式->工厂模式

工厂模式也是一种常见的创建类模式,参考了网上的众多博文,本篇博文我们系统地来分析一下什么是工厂模式,为什么要采用工厂模式,以及工厂模式的发展优化。工厂模式的发展有以下的三个阶段:简单工厂模式 方法工厂模式 抽象工厂模式简单工厂模式:我们在日常开发中,为了使系统更加符合“单一职责原则”,我们通常将对象的创建和使用分离,这样有利于对系统功能的复用和系统的维护。因此,提出了简单工厂...

2019-02-19 20:19:11 112

原创 工程规划->拓扑排序

背景:拓扑排序是是图的一个比较重要的知识点,在实际生活中常见于解决工程中各个任务的完成顺序即规划问题,下面来介绍一下拓扑排序。拓扑排序定义 拓扑排序的实际问题 拓扑排序的求解方法及代码实现拓扑排序定义所谓拓扑排序,是指将一个有向图中的所有顶点排成一个线性序列,序列中任何顶点与其前面的顶点不存在关系。假设在图中任取两点u,v,两点存在关系(u,v),在该图的拓扑排序中u必须在v之前...

2019-02-15 16:04:24 331

原创 最短路径->Dijkstra算法和Floyd算法

背景:在图的学习过程中,最短路径问题是一个肯定会遇到的问题。而这个问题的原型来源于我们实际生活中的问题,例如汽车的最优路径导航。所以为了找到解决这些实际问题的最优方案,前辈们提出了Dijkstra算法和Floyd算法,下面就来详细地了解一下这两个出名的算法。现在,假设有V0~V6七个地方,每两个地方之间的距离入下图所示:Dijkstra算法:O()这是一种贪心算法,每次找到一条...

2019-02-12 08:05:00 285

原创 最小生成树->Prim算法和Kruskal算法

背景:在学习图的知识时,最小生成树是一个最普遍的概念。它在日常生活中的应用很普遍,比如:有A、B、C、D、E五个城市,现在想在五个城市之间建设通信线路连通,每两个城市之间修建线路的费用不同,我们当然想用最小的代价将五个城市通信连接起来,这时,如何获取最小代价的方案,也就是如何找到最小生成树就显得尤为重要。如何寻找最小生成树,目前常用的有Prim(普里姆)算法和Kruskal(克鲁斯卡尔)算...

2019-01-31 10:49:24 478

原创 设计模式->建造者模式

建造者模式属于创建类模式中的一种,它主要由Director,Builder,Product,Client四个角色组成。我们接下来以一个汽车制造的例子来一个一个分析这四个角色的作用。如果有什么理解不到位的地方,望大神们多多交流沟通。Client:客户角色,负责提交想要的汽车的要求,并负责接收创建好的汽车。Product:产品角色,在本例中为汽车对象。其中包含汽车的各个属性细节。Build...

2019-01-23 10:53:07 70

原创 设计模式->单例模式

单例模式是设计模式中最常见的一个设计模式,属于创建类模式,它保证一个类在在程序运行过程中只有一个实例化对象,既节省了资源,同时又保护了系统临界资源。比如操作系统对外设的管理,打印机只有一个,一次在任何时刻只能有一个打印机的实例。注意:1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。接着,我们以打印机为例通过代码来展示不同的...

2019-01-17 22:37:35 76

转载 设计模式->起步

马上就要春招了,趁着过年前的这段时间,再把自己完善一下,接下来的一段时间自己将会总结设计模式,一方面为了准备面试,另一方面提高一下自己处理实际问题代码实现效率。本篇就介绍一下设计模式的背景,由于网上关于设计模式的背景已经千篇一律,此处就引用一下菜鸟教程的背景知识。设计模式简介 设计模式的使用 设计模式的类型 设计模式的六大原则设计模式简介设计模式(Design patter...

2019-01-16 07:22:55 92

原创 字符串匹配->KMP算法

背景:最近在学习数据结构,学到“串”这一块时,遇到了KMP算法。但是卡了好长时间不是很理解这个算法。今天突然get到这个算法的点了,故写博客记录一下,防止之后遗忘。可能我理解还有什么不到位的地方,如果大家发现了请多多指教。为了方便叙述,先设定被搜索串(主串)为M,而搜索串(目标串)为T。关于串的匹配模式,最简单最常用的也就是BF算法了,它的原理就是每次从主串M中取出一个和T等长的子字符...

2019-01-13 08:24:34 114

原创 Ubuntu服务器初体验——配置mysql并远程访问

最近由于在做Java web项目,发现了用云数据库的诸多好处。因此特意在腾讯云上买了两个月Ubuntu服务器来提供云数据库的功能。下面将记录一下这一天的大概的配置过程。 首先,购买Ubuntu服务器后,腾讯会在邮箱给你发送服务器的密码,当然你也可以直接选择在腾讯云控制重置密码。在登陆服务器之前,要先在腾讯云控制台的左边点击安全组,新建一个安全组,由于初涉服务器,所以将所有端口口号开放。进去...

2018-06-30 17:54:52 122

原创 在android studio后遇到Unsupported major.minor version 52.0的处理办法

     莫名其妙的,android studio突然关闭并且再次打开之后无法正常运行,出现了Unsupported major.minor version 52.0的问题。     在网上找了很多的答案,无非是以下的两种:(图为Mac的AS)      1. jdk版本不支持,比如你打开的一个项目是java jdk1.8的版本,但是你的编译器设置默认支持的java jdk1.7的版本...

2016-12-27 20:28:40 965

空空如也

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

TA关注的人

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