01 2015 档案
摘要:题目地址:2-1按给定的K个间隔翻转链表。给出了链表的首地址和结点个数以及间隔K,每个结点又提供了自身的地址、存储的数值以及下一个结点的地址。结点构造成一个结构体,所有结点放在结构体数组里,其中注意存储的技巧——将地址作为数组的数值下标,而数组值是数据内容以及下一个节点的地址。同时注意存在无效的结点...
阅读全文
摘要:题目地址:http://www.patest.cn/contests/mooc-ds/01-2计算最大子列和,并打印出子列的第一个元素和最后一个元素#include using namespace std;#define MAXN 100000int main(){ int list[MAXN]; ...
阅读全文
摘要:题目地址:http://www.patest.cn/contests/mooc-ds/01-1#include #include #include #include #include #include #include #include using namespace std;#define rea...
阅读全文
摘要:在队列中,调度程序反复提取队列中第一个作业并运行,因为实际情况中某些时间较短的任务将等待很长时间才能结束,或者某些不短小,但具有重要性的作业,同样应当具有优先权。堆即为解决此类问题设计的一种数据结构。1、堆的两个特性结构性:用数组表示的完全二叉树有序性:任一结点的关键字是其子树所有结点的最大值(或最...
阅读全文
摘要:1、什么是平衡二叉树平衡因子(Balance Factor,简称BF):BF(T)=HL-HR,HL和HR分别代表树T的左右子树的高度平衡二叉树(Balanced Binary Tree)(AVL树)空树,或者任一结点的左右子树的高度差的绝对值不超过1假设nh是高度为h的平衡二叉树的最小结点数,则2...
阅读全文
摘要:题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=5162发现自己写的max宏有点问题改成这样:#define max(a,b) ((a>b)?(a):(b)),后面的返回值也要一个括号#include #include #include #include...
阅读全文
摘要:二叉搜索树(1)定义二叉搜索树(Binary Search Tree),也称二叉排序树或二叉查找树一棵二叉树,可以为空;如果不为空,满足以下性质:a.非空左子树的所有键值小于其根节点的键值b.非空右子树的所有键值大于其根节点的键值c.左右子树都是二叉搜索树(2)相关操作Position Find( ...
阅读全文
摘要:1、树的定义树(Tree):n(n>=0)个结点构成的有限集合子树是不相交的。除了根节点外,每个结点有且仅有一个父结点。一棵N个结点的树有N-1条边。2、树的一些基本术语(1)结点的度(Degree):结点的子树个数(2)树的度:树的所有结点中最大的度数(3)叶结点(Leaf):度为0的结点(4)父...
阅读全文
摘要:队列(Queue):具有一定操作约束的线性表插入和删除操作:只能在一端插入,而在另一端删除先进先出1、队列的顺序存储实现队列的顺序存储结构通常由一个一维数组和一个记录队列头元素位置的变量front以及一个记录队列尾元素位置的变量rear组成(1)初始化#define MaxSize typedef...
阅读全文
摘要:堆栈(Stack):具有一定操作约束的线性表只在一端(栈顶,Top)做插入和删除1、栈的顺序存储实现栈的顺序存储结构通常由一个一维数组和一个记录栈顶元素位置的变量组成。(1)存储#define MaxSize typedef struct { ElementType Data[MaxSize] in...
阅读全文
摘要:1、什么是线性表?线性表(Linear List):由同类型元素构成有序序列的线性结构。表中元素个数称为线性表的长度线性表没有元素时,称为空表表起始位置称表头,表结束位置称为表尾2、线性表的抽象数据类型描述List MakeEmpty():初始化一个空线性表L;ElementType FindKth...
阅读全文
摘要:题目地址:http://www.patest.cn/contests/mooc-ds/01-1算法一:暴力,直接计算出所有子列和,然后比较,显然复杂度炸裂,O(N^3)int MaxSubseqSum1(int A[],int N){ int ThisSum; int MaxSum = 0; int...
阅读全文

浙公网安备 33010602011771号