自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (5)
  • 收藏
  • 关注

原创 【剑指offer】_10二叉树和为某一路径值

题目描述输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。解题思路要求一路径的和,那么必然终止条件为叶子结点,从根结点出发,从左往右,每条路径的和都与给定的值比较,自然能求出。但往往二叉树的题,都会用到递归,本身是二叉树,那么子树必定为二叉树,如果找到规律??我们可以这样想,递归一次,旧调用...

2019-12-30 15:57:58 130

原创 【剑指offer】_09二叉搜索树的后序遍历序列

题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。解题思路比如下面的这棵二叉搜索树它的后序遍历为0214369875;我们设当前根节点为root;第一次root=5我们可以看出以3和6中间为分割线,左边为5的左子树,右边为5的右子树,数组最后一个数为5,为根结点。所以 {0,2,1,4,...

2019-12-26 19:08:37 86

原创 【剑指offer】_08.数值的整数次方

题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0解题思路首先一个数的任意次方,这个数有可能是负数和正数和零,然后次方也有可能是负数和正数和零当这个数是零时,0的任何次方就是0。当这个数是正数时,分情况次方为零,此时答案为1次方为负数,算出来的结果要用1除以。次方为正数...

2019-12-13 21:28:56 83

原创 软件工程---18.面向服务的软件工程

什么是Web服务一个松耦合、可复用的软件构件,封装了离散的功能,该功能是分布式的并且可以被程序访问。Web服务是通过标准互联网和基于XML的协议被访问的服务。服务和软件构件之间的一个重要的区别是服务应该总是独立的和松耦合的Web 服务没有“请求”接口RESTful服务RESTful的定义REST是一种基于从服务器向客户端传输可识别资源的体系结构风格。这种风格作为一个在整体位于网络...

2019-12-13 15:06:24 1026

原创 软件工程---17.分布式软件工程

分布式系统的5个优点资源共享开放性并发性可伸缩性容错性云计算的三种服务基础设施即服务IaaS、平台即服务PaaS、软件即服务SaaS分布系统的6个问题透明性开放性可伸缩性信息安全性服务质量失效管理可伸缩性(重点)系统的可伸缩性反映了系统能在外部需求增加的情况下提供高质量的服务的能力。可伸缩性的三个维度是规模、分布和可管理性。规模。系统应该增加更...

2019-12-12 20:51:57 1115

原创 软件工程---16.基于构件的软件工程

CBSECBSE是定义、实现、集成或组装松散耦合的独立构件成为系统的过程。基于构件的软件工程的要素有:完全由接口进行规格说明的独立构件。构件标准使构件集成变得更为容易。中间件为构件集成提供软件支持。开发过程适合基于构件的软件工程。CBSE的设计原则构件是独立的,因此它们不会影响彼此的操作。构件通过良好定义的接口进行交互。构件基础设施提供一系列可用在应用系统中的标准服务。...

2019-12-12 20:25:19 1754

原创 软件工程---15.软件复用

复用的图(牢记)软件复用的好处

2019-12-12 20:15:22 819

原创 软件工程---08.软件测试

测试测试的正向思维(确认测试)测试的逆向思维(缺陷测试)测试是更广阔的软件确认和验证( Verification and Validation; V & V)过程的一部分。验证和确认并不相同,虽然它们经常被混淆。软件工程先驱之一Barry Boehm简洁地将二者之间的区别表达为(Boehm 1979 ):确认(verification):我们在以正确的方式构造产品吗?验证 (...

2019-12-12 08:29:55 205

原创 软件工程---07.设计与实现

软件设计和软件实现软件设计是一个创造性的活动,在此活动中需要基于客户需求识别软件构件及其关系。软件实现是将设计实现为一个程序的过程设计模式设计模式是从Christopher Alexander(Alexander 1979)所提出思想中派生出来的,他认为建筑设计中存在一定的共性模式,这些模式令人喜欢并且有效。结构/静态模型,使用静态类及其关系描述系统的静态结构。这个阶段需要描述的重...

2019-12-12 08:22:18 2257

原创 【剑指offer】_07 矩形覆盖

题目描述我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?解题思路依旧是斐波那契数列2n的大矩形,和n个21的小矩形其中target*2为大矩阵的大小有以下几种情形:target <= 0 大矩形为<= 2*0,直接return 1;target = 1大矩形为2*1,只有一种摆放方法,retu...

2019-12-11 22:10:41 68

原创 【剑指offer】_06 变态跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解题思路链接:https://www.nowcoder.com/questionTerminal/22243d016f6b47f2a6928b4313c85387关于本题,前提是n个台阶会有一次n阶的跳法。分析如下:f(1) = 1f(2) = f(2-1) + f(2...

2019-12-11 21:59:36 99

原创 软件工程---6.体系结构设计

体系结构模型是什么?体系结构模型,该模型描述系统如何被组织为一组相互通信的构件体系结构分类**小体系结构关注单个程序的体系结构。**在这个层次上,我们关注单个的程序是如何补分解为构件的。大体系结构关注包括其他系统、程序和程序构件的复杂企业系统体系结构。非功能性需求影响最大对体系结构有显著影响的需求”的研究中确认了这一点, 他们发现非功能性需求对于系统体系结构的影响最大体系结构视图...

2019-12-11 09:16:50 12329

原创 软件工程---5.系统建模

从不同视角对系统建模外部视角,上下文模型,对系统上下文或环境建模交互视角,交互模型(功能模型),对系统与参与者或系统内构件之间的交互建模结构视角,结构模型(静态模型),对系统的组成或系统处理的数据结构建模行为视图,行为模型(动态模型),对系统的动态行为以及系统如何响应事件进行建模UML同一建模语言UML动态图协作图顺序图状态图活动图UML静态图用例图类图对象...

2019-12-11 08:56:00 6873

原创 软件工程---4.需求工程

需求工程定义找出、分析、文档化并且检查需求的过程被称为需求工程需求的两个描述层次用户需求,指高层的抽象需求。使用自然语言、图形描述需求。系统需求,指底层的详细需求。使用系统需求文档(有时被称为功能规格说明)应该精确定义要实现的需求。功能性需求:描述系统应该做什么。What非功能性需求:描述系统应该做得怎么样。How非功能性需求产品需求:这类需求刻画或约束软件的运行时行为...

2019-12-10 20:31:25 743

原创 软件工程---3.敏捷软件开发

敏捷软件开发极限编程(XP, Beck1999)Scrum方法(Schwaber and Beedle 2001)DSDM方法(Stapleton 2003)敏捷软件的开发宣言个体和交互胜过过程和工具可以工作的软件胜过面面俱到的文档客户合作胜过合同谈判响应变化胜过遵循计划开发实践敏捷方法没有独立的需求工程活动,而是将需求抽取与开发集成在一起。用“用户故事”(故事卡片...

2019-12-10 20:15:47 205

原创 软件工程---2.软件过程

三个模型瀑布模型增量模型集成和配置模型没有适用于所有不同类型软件开发的过程模型。瀑布模型需求定义系统和软件的设计实现与单元测试集成与系统测试运行与维护瀑布模型的特征从上一项活动中接受该项活动的工作成果(工作产品),作为输入。利用这一输入实施该项活动应完成的内容给出该项活动的工作成果,作为输出传给下一项活动对该项活动实施的工作进行评审。若其工作得到确认,则继...

2019-12-10 20:06:36 766

原创 软件工程---1.概述

什么是软件工程软件工程是一项建模活动软件工程是一项解决问题活动软件工程是一项受事物基本原理指导的活动、什么是建模对系统抽象的表示,可以了解未知的系统和领域。系统太大、太小、太复杂或体验代价太高时,需要模型。应用域模型从用户角度去描述的系统解答域模型从开发者的角度去描述的系统,评估具体实现时不同的方案面向对象的方法将应用域建模和解答域建模合二为一,面向对象方法的思想:...

2019-12-09 23:13:04 374

原创 哈希的概念及其操作

哈希概念顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应的关系,因此在查找一个元素时,必须要经过关键码的多次比较。顺序查找时间复杂度为O(N),平衡树中为树的高度,即O( Log2N),搜索的效率取决于搜索过程中元素的比较次数。理想的搜索方法:可以不经过任何比较,一次直接从表中得到要搜索的元素。 如果构造一种存储结构,通过某种函数(hashFunc)使元素的存储位置与它的关键码之间能够...

2019-12-08 19:03:03 1086

原创 排序下---(冒泡排序,快速排序,快速排序优化,快速排序非递归,归并排序,计数排序)

交换类排序基本思想:所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。冒泡排序冒泡排序的特性总结:冒泡排序是一种非常容易理解的排序时间复杂度:O(N^2)空间复杂度:O(1)稳定性:稳定代码实现void BublleSort(int*array, int size...

2019-12-07 21:01:30 155

原创 排序上---(排序概念,常见排序算法,直接插入,希尔排序,直接选择排序,堆排序)

排序的概念排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。内部排序:数据元素全部放在内存中...

2019-12-07 12:36:30 204

原创 【剑指offer】_05 连续子数组最大和

题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列...

2019-12-06 23:11:11 93

原创 模拟实现STL中map和set容器

红黑树的迭代器//红黑树的迭代器template<class T>struct RBTreeIterator{ typedef RBTreeNode<T>Node; typedef RBTreeIterator<T> Self;public: RBTreeIterator(Node* pNode = nullptr) :_pNode(pNod...

2019-12-04 13:26:04 153

原创 红黑树概念及其相关操作的实现

红黑树的概念红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过 对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍,因而是接近平衡的。最长路径中结点的个数不会超过最短路径中结点个数的两倍红黑树的性质每个结点不是红色就是黑色根节点是黑色的如果一个节点是红色的,则它的两个孩子结点是黑色的对于...

2019-12-01 18:59:51 209

linux_kernel_2-6-11-12_comment.tar.bz2

Linux注释内核

2020-04-07

Linux总结.xmind

菲菲常常详详细细的Linux总结,面试常考点!

2020-04-01

C++总结.xmind

非常详细的C++思维导图,只要把上面的知识点记住,稍微深入即可达到你想达到的程度,非常详细---

2020-02-25

数据结构.xmind

比较全面的数据结构的总结,图文并茂

2019-09-13

C语言.xmind

很全的C语言总结,

2019-09-07

空空如也

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

TA关注的人

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