
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
文章目录二叉树性质1二叉树性质2二叉树性质3二叉树性质4二叉树性质5二叉树性质1性质1:在二叉树的第i层上至多有2i-1个结点(i>=1)。如图1-1的二叉树。第一层的结点是根结点,只有一个,所以21-1 = 20=1。第二层有两个结点,所以22-1 = 21=2。第三层有四个结点,所以23-1 = 22=4。第四层有八个结点,所以24-1 = 23=8。图1-1通过数据归纳法的论证,可以很
定义二叉树(Binary Tree)是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点的两棵互不相交的,分别称为根结点的左子树和右子树的二叉树组成。图1-1就是一个二叉树。图1-1特点每个结点最多有两个子树,所以二叉树中不存在度大于2的结点。注意不是只有两棵子树,而是最多有。没有子树或者有一颗子树都是可以的。左子树和右子树是有顺序的,次序不能任意颠倒。打个比
文章目录问题描述算法步骤举例代码问题描述有一批集装箱要装上一艘重量为c的轮船。已知集装箱i(1<=i<=n)的重量为Wi,最优装载问题要求在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。问题分析抽象的数学模型为最优装载问题:n个集装箱E{1,2,…n},选出E的子集合,将尽可能多的集装箱装上轮船贪心策略为重量最轻集装箱优先装载,从而给灭有装船的集装箱留下尽可能多的余量算法步骤1
MongoDB 中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。有点类似 SQL 语句中的 count(*)。聚合的表达式:测试一下插入测试数据MongoDB中聚合的方法使用aggregate()。计算每个作者写的文章数$group:以id进行分组num_tutorial :结果别名sum :是否求和,1为真...
问题描述:配置springmvc之后,jsp页面不能正常加载js文件。原因分析:1.静态资源没有放行2.路径编写不合适解决方案:在springmvc配置目录下<!--静态资源放行--><mvc:default-servlet-handler></mvc:default-servlet-handler>...
文章目录概念插入元素删除操作总结概念在单链表中有了next指针,这就使得我们要查找的下一结点的时间复杂度为O(1)。可是如果我们要查找的是上一结点的话,那么最坏的时间复杂度就是O(n),因此我们每次都要从头遍历开始查找。为了克服单向性这一缺点,设计出了双向链表(double linked list)是在单链表的每个结点中,在设置一个指向其前驱结点的指针域。 所以在双链表中的结点都有两个指针域,一个
文章目录引言裴波那切数列的实现(Fibonacci)递归定义递归和栈的关系引言栈有一个很重要的应用:在程序设计语言中实现了递归,那么什么是递归了?当你往镜子前面一站,镜子里面就有一个你的像。但你试过两面镜子一起照吗?如果A,B两面镜子相互面对面放着,你往中间一站,两面镜子都有你的千百个化身。为什么会有这种现象呢?原来,A镜子里有B镜子的像,B镜子里也有A镜子的像,这样反反复复,就会产生一连串的“像
我们把数组与链表相结合的存储方法称为邻接表(Adjacency List)。邻接表的处理办法是这样的:图中顶点用一个一维数组存储,当然顶点也可以用单链表来存储,不过数组可以较容易地读取顶点信息,更加方便。另外,对于顶点数组中,每个数据元素还需要存储指向第一个邻接点的指针,以便以查找该顶点的信息。图中每个顶点Vi的所有邻接点构成一个线性表,由于邻接点的个数不定,所以用单链表存储,无向图称为顶点vi的
介绍KMP算法是有Kunth和Partt共同研究,Morris独立研究发表的模式匹配算法,可以大大避免重复遍历的情况,我们把它称之为克努特-莫里斯-普拉特算法,简称KMP算法。KMP模式匹配原理从朴素模式匹配的角度理解KMP模式匹配假设主串S=“abcdefgab”,子串T=“abcdex”,如果用朴素算法的话,前5个字母,两个串完全相等,直到第六个字母,“f”与“x”不相等。如下图所示图1-1接
文章目录顺序存储队列的缺点循环队列定义顺序存储队列的缺点我们假设一个队列有n个元素,则顺序存储的队列需建立一个大于n的数组,并把队列的所有元素存储在数组的前n个单元,数组下标为0的一端即时对头,所谓的入队操作,其实就是在队尾追加一个元素,不需要移动任何元素。与栈不同的是,队列出队元素是在对头,即下标为0的位置,那也就意味着,队列中所有的元素都得向前移动,以保证队列的对头,也就是下标为0的位置不为空







