![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 81
kaitankedemao
这个作者很懒,什么都没留下…
展开
-
递归爬楼梯
恩...今天去隔壁班蹭课的时候,陈大大提到一条小学奥赛题:爬楼梯。 题目:小明爬楼梯的时候,一次可以爬1级台阶,一次可以爬2级台阶,一次可以爬3级台阶,问,爬N级台阶有多少种爬法? 其实,写上几组数据就能发现,这道题和斐波拉契数列很像。 爬1级:1原创 2014-03-28 22:40:01 · 1311 阅读 · 0 评论 -
判断一棵二叉查找树是否是平衡树
首先平衡树的定义是, 任意一个结点的左右子树的深度差不超过1,原创 2014-06-03 19:02:40 · 1536 阅读 · 0 评论 -
最短路径——具有负边值的图
为何Dijkstra算法不能算出具有负边值的图的最短路径?原创 2014-05-26 23:56:39 · 3584 阅读 · 0 评论 -
输入一行字符串,找出其中出现的相同且长度最长的字符串,输出它及其首字符的位置
题目:输入一行字符串,找出其中出现的相同且长度最长的字符串,输出它及其首字符的位置。例如输入"yyabcdab"原创 2014-05-20 12:39:53 · 4386 阅读 · 0 评论 -
二叉树之二叉链表
二叉树一般多采用二叉链表存储,其基本思想是:令二叉树的每个原创 2014-04-27 21:16:22 · 3976 阅读 · 1 评论 -
多维数组之矩阵的压缩存储
一、对称矩阵的压缩存储 对称矩阵的特点:在一个n阶方阵中,有aij=aji(1原创 2014-04-20 11:40:25 · 1915 阅读 · 0 评论 -
哈夫曼树及哈夫曼编码
一、哈夫曼树 哈夫曼树,又称最优二叉树,是原创 2014-05-04 16:54:03 · 2157 阅读 · 0 评论 -
冒泡排序及其改进
冒泡排序:原创 2014-04-13 18:07:58 · 679 阅读 · 0 评论 -
线性表之循环链表
循环链表(circular linked list)是另外一种原创 2014-04-16 21:18:32 · 795 阅读 · 0 评论 -
非递归前序遍历
问题:对一个二叉搜索树进行前序遍历,打印出每个结点的值,但是不能使用递归。解题:(1)递归可以用迭代来替代(2)了解递归的前序遍历中发生了什么:①打印出根节点(或子树根节点)的值;②对左子树进行前序遍历;③对右子树进行前序遍历。 递归隐式地使用了一个数据结构栈来存放调用栈上的数据。实际上,递归调用用于隐式地在栈上存储右子树的地址,因此左子树遍历完后,可以继续遍历右原创 2014-11-30 10:35:15 · 997 阅读 · 0 评论 -
有关二叉树的部分操作
struct TreeNode{ ElemtType val; TreeNode *left,*right;}; 1.判定一棵二叉树是否是完全二叉树借助于层次遍历的算法,将所有结点入队列,包括空结点。出队遇到空结点时,查看其后是否有非空结点,若有,则不是完全二叉树。bool isComplete(TreeNode* root){ TreeNode* Q[Max原创 2015-03-28 22:13:12 · 676 阅读 · 0 评论 -
线性表之循环双链表
在循环原创 2014-04-16 21:40:07 · 780 阅读 · 0 评论 -
二叉树之中序线索
遍历二叉树是以一定的规则将二叉树中结点排列成一个线性序列,原创 2014-04-29 21:55:52 · 3135 阅读 · 0 评论 -
CSDN编程竞赛——素因子集合
题目详情:小强最近在学初等数论,老师给他们出了一个课后习题,那就是给你两个正整数A,B(0输入描述:输入包含多组测试数据,每组测试数据包含两个正整数A,B,以文件结束。输出描述:对于每组测试数据如果A和B的素因子集合相同则输出“YES”,否则输出“NO”。答题说明:输入样例:2 84 9原创 2014-05-08 21:34:00 · 830 阅读 · 0 评论 -
求一个字符串连续出现次数最多的子串
题目:求一个字符串出现次数最多的子串。原创 2014-05-20 12:24:23 · 1115 阅读 · 0 评论 -
归并排序
整理自weiss老师的《数据结构与算法分析——C语言描述》原创 2014-05-22 00:18:12 · 564 阅读 · 0 评论 -
拓扑排序
基本概念:原创 2014-05-24 22:24:32 · 748 阅读 · 0 评论 -
模式匹配与子序列
先说子序列,这个原创 2014-04-20 15:22:04 · 3556 阅读 · 0 评论 -
线性表之一元多项式求和
在数学上,一个原创 2014-04-16 22:32:47 · 1467 阅读 · 0 评论 -
排序
排序是数据处理中原创 2014-05-18 19:44:19 · 992 阅读 · 0 评论 -
最近共同祖先
问题:给定一个二叉搜索树中的两个节点的值,找到最近的共同祖先。你可以假定树中存在这两个值。解题:(1)有一个简单而直观的算法,从每个节点开始沿着树向上,直到它们汇聚。对两个节点都生成其所在祖先节点的链表,然后在这两个链表中搜索,以找到第一个不同的结点。这个差异的结点的前一个结点就是最近共同祖先。(2)考虑二叉搜索树的特性:左子结点的值小于或者等于当前结点的值,右结点的值大于或者等于当前原创 2014-11-27 22:22:32 · 799 阅读 · 0 评论 -
递归(一)
一、求n的阶乘原创 2014-04-19 21:11:31 · 700 阅读 · 0 评论 -
线性表之大整数求和
用某种程序设计语言进京原创 2014-04-16 21:58:19 · 4498 阅读 · 0 评论 -
二叉平衡树树的实现
AVL树的具体概念这里不做原创 2014-06-03 19:12:40 · 645 阅读 · 0 评论 -
Lowest Common Ancestor of The Two Nodes in a Binary Tree
root指向一棵二叉树的头结点,p和q分别指向该二叉树中任意两个结点的指针,编写算法,找到p和q的最近公共祖先结点r。为了不失一般性,设p在q的左边。同时,为了编写方便,将以p和q所指结点的值代替p和q本身。根据【后续遍历最后访问根节点,在递归算法中,根是压在栈底的】,很容易想到,采用后序遍历非递归算法:栈中存放二叉树结点的指针。当访问到某结点时,栈中所有的元素都是该结点的祖先。设一个辅助栈,当没原创 2015-04-04 20:08:10 · 656 阅读 · 0 评论