码迷,mamicode.com
首页 >  
搜索关键字:结点    ( 9777个结果
POJ 1155
很久以前做的树形DP题,今天再遇到时,竟然不会了,所以写写。。设数组:prf[MAX][MAX],cost[MAX],sum[MAX]。分别表示,在第i个结点为根的子树内的情况下,若有j个用户申请看电视,所能得到的最大费用。cost表示传送到i点时所花的费用,而sum表示当前结点为根的子树内已访问的...
分类:其他好文   时间:2014-06-28 14:28:23    阅读次数:293
两种删除单链表结点的实现,一种O(n),一种O(1)
常规的删除单链表结点的做法是挨个查找到该结点的前一个结点,然后去掉要删除的这个结点,回收内存。这个需要O(n)的时间。有一种比较快速的删除掉链表指定一个节点的方法,就是把下一个结点的内容复制到当前这个结点,然后把下一次结点删除掉,这个需要考虑当要删除的结点是最后一个结点的情况。如果刚好是最后一个结点...
分类:其他好文   时间:2014-06-23 08:09:32    阅读次数:275
二叉搜索树与双向链表的转换
题目:输入一棵二叉搜索树(记住是搜索树),将该二叉搜索树转换为一个排序的双向链表。要求:不能创建任何新的结点,只能调整树中结点指针的指向。分析:如下图因为是二叉搜索树。所以树的排列是规则的。通过中序遍历正好遍历的是由小到大的序列。要求说明是只能改变树结点指针的指向,不能增加新的空间和结点。所以在中序...
分类:其他好文   时间:2014-06-23 06:57:13    阅读次数:242
单链表插入排序
输入:一个无序的单链表的头结点输出:一个有序的单链表的头结点(这里假设是升序排序)分析:1. 插入排序的基本思想:将一个节点插入到一个有序的序列中。对于链表而言,要依次从待排序的链表中取出一个节点插入到已经排好序的链表中,也就是说,在单链表插入排序的过程中,原链表会截断成两部分,一部分是原链表中已经...
分类:其他好文   时间:2014-06-22 23:26:37    阅读次数:199
[LeetCode] Convert Sorted Array to Binary Search Tree
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.说明:平衡二叉搜索树,即任何结点的左子树和右子树高度最多相差1的二叉搜索树。二叉搜索树:二叉查找树(Bin...
分类:其他好文   时间:2014-06-21 00:47:08    阅读次数:221
二叉树
二叉树是一种特殊的树。二叉树的特点是每个结点最 多有两个儿子,左边的叫做左儿子,右边的叫做右儿子,或者说每个结点最多有两棵子树。更加严格的递归定义是:二叉树要么为空,要么由根结点、左子树和右子 树组成,而左子树和右子树分别是一棵二叉树。 下面这棵树就是一棵二叉树。 二叉树的使用范围最广,一棵多...
分类:其他好文   时间:2014-06-20 21:31:21    阅读次数:185
堆——神奇的优先队列(上)
堆是什么?是一种特殊的完全二叉树,就像下面这棵树一样。 有没有发现这棵二叉树有一个特点,就是所有父结点都比子结点要小(注意:圆圈里面的数是值,圆圈上面的数是这个结点的编号,此规定仅适用于本节)。 符合这样特点的完全二叉树我们称为最小堆。反之,如果所有父结点都比子结点要大,这样的完全二叉树称为...
分类:其他好文   时间:2014-06-20 19:57:49    阅读次数:215
二叉排序树
1.二叉排序树的概念:二叉排序树是一种动态树表。 二叉排序树的定义:二叉排序树或者是一棵空树, 或者是一棵具有例如以下性质的二叉树: ⑴ 若它的左子树非空,则左子树上全部结点的值均小于根结点的值; ⑵ 若它的右子树非空,则右子树上全部结点的值均大于根结点的值; ⑶ 左、右子树本身又各是一棵二叉排序树...
分类:其他好文   时间:2014-06-20 19:47:29    阅读次数:225
C++设计模式实现--组合(Composite)模式
一. 举例 这个例子是书上的,假设有一个公司的组结结构如下: 它的结构很像一棵树,其中人力资源部和财务部是没有子结点的,具体公司才有子结点。 而且最关健的是,它的每一层结构很相似。 代码实现如下: #include #include #include using namespace std; //公司类,提供接口   class...
分类:编程语言   时间:2014-06-18 07:58:08    阅读次数:240
图遍历的演示
图遍历的演示 [问题描述]   很多涉及图上操作的算法都是以图的遍历操作为基础的。试写一个程序,演示无向图的遍历操作。 以邻接表为存储结构,实现连通无向图的深度优先和广度优先遍历。以用户指定的结点为起点,分别输出每种遍历下的结点访问序列和相应生成树的边集。 借助于栈类型(自己定义和实现)将深度优先遍历用非递归算法实现。(非递归算法的实现为选做内容,如能实现,适当加分) [测试数据]  ...
分类:其他好文   时间:2014-06-18 06:00:19    阅读次数:251
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!