数据结构与算法
文章平均质量分 68
数据结构与算法的整体归纳总结,以及部分例题的实现方案。
法海你懂不
梦想每个人都有,但不是每个人都有勇气去坚信...
展开
-
第4章第1节练习题15 判断两颗二叉树是否相似
试设计判断两颗二叉树是否相似的算法。 所谓二叉树T1和T2相似,指的是T1和T2都是空的二叉树或都只有一个根节点;或T1的左子树和T2的左子树是相似的且T1的右子树和T2的右子树是相似的原创 2016-08-25 12:05:40 · 3067 阅读 · 0 评论 -
第4章第1节练习题14 满二叉树已知先序序列求解后序序列
设有一颗满二叉树(所有节点值均不同),已知其先序序列pre,设计一个算法求其后序序列post原创 2016-08-25 11:50:03 · 4110 阅读 · 5 评论 -
第4章第1节练习题13 根据先序序列和中序序列建立二叉树
假设一颗二叉树中各节点的值互不相同,其先序遍历序列和中序遍历序列分别存于两个一维数组A[⋯]和B[⋯]中,试编写算法建立该二叉树的二叉链表原创 2016-08-25 10:16:52 · 2218 阅读 · 0 评论 -
第4章第1节练习题12 删除以指定节点为根节点的所有子树
已知二叉树以二叉链表存储,编写算法完成对于树中每一个元素值为x的节点,删去以它为根的子树,并释放相应空间原创 2016-08-24 10:33:22 · 5360 阅读 · 2 评论 -
第4章第1节练习题11 查找最近公共祖先节点
假设指针p和指针q分别指向二叉树中任意两个节点的指针,试编写算法找到p和q的最近公共祖先节点r原创 2016-08-23 13:40:05 · 1741 阅读 · 2 评论 -
第4章第1节练习题10 判断某二叉树是否为完全二叉树
试写一算法,完成判定某二叉树是否为完全二叉树的功能原创 2016-08-19 08:07:03 · 817 阅读 · 0 评论 -
第4章第1节练习题9 反向层次遍历算法
试给出二叉树的自下而上,从右到左的层次遍历算法原创 2016-08-19 08:05:11 · 829 阅读 · 0 评论 -
第4章第1节练习题8 打印指定节点的祖先节点
在二叉树中查找值为x的节点,试编写算法打印值为x的节点的所有祖先节点,假设值为x的节点不多于一个原创 2016-08-09 09:36:53 · 2469 阅读 · 1 评论 -
第4章第1节练习题7 交换二叉树所有节点左右子树
试编写一算法,实现将二叉树中所有节点的左右子树进行交换...原创 2016-07-12 21:52:30 · 4220 阅读 · 0 评论 -
第4章第1节练习题6 二叉树叶子节点链接成单链表
将二叉树的叶子节点按从左到右的顺序连成一个单链表,表头指针为head。链接时用叶子节点的右指针来存放单链表指针...原创 2016-07-10 10:23:32 · 6317 阅读 · 1 评论 -
第4章第1节练习题5 二叉树查找第k个结点的值
求二叉树先序遍历中第k个结点的值...原创 2016-07-02 12:24:54 · 2971 阅读 · 0 评论 -
第4章第1节练习题4 二叉树高度和宽度统计
采用递归和非递归的方式统计二叉树的高度,并且对传值过程进行了简单分析。采用非递归方式统计二叉树的宽度,并对思想简单进行了说明。原创 2016-06-25 11:11:07 · 1199 阅读 · 0 评论 -
第4章第1节练习题3 二叉树特殊节点个数统计
分别采用递归与非递归的方式实现对二叉树中度为0的节点,度为1的结点,度为2的结点的个数统计,并且简单分析了递归传值的过程。原创 2016-06-18 23:38:54 · 3207 阅读 · 0 评论 -
第4章第1节练习题2 二叉树的基本操作(非递归实现)
二叉树的基本操作,使用非递归方式实现...原创 2016-05-29 13:10:36 · 2857 阅读 · 0 评论 -
第4章第1节练习题1 二叉树的基本操作(递归实现)
二叉树的基本操作,使用递归方式实现...原创 2016-05-29 11:57:49 · 2824 阅读 · 0 评论 -
第4章第1节 二叉树的基本概念
二叉树的基本定义,性质,以及存储结构...原创 2016-05-20 23:05:22 · 1053 阅读 · 0 评论 -
第4章树与森林
树与森林的基本概念...原创 2016-05-08 21:06:07 · 1118 阅读 · 1 评论 -
第3章第1节练习题2 回形矩阵
打印回型数组...原创 2016-04-27 21:48:33 · 3711 阅读 · 2 评论 -
第3章第1节练习题1 蛇形矩阵
打印蛇形数组...原创 2016-04-24 23:12:37 · 3826 阅读 · 0 评论 -
第3章第1节 数组的存储结构
数组的存储结构,非压缩存储方式和压缩存储方式...原创 2016-03-04 16:48:49 · 4792 阅读 · 1 评论 -
第3章线性表的推广
线性表的推广。数组,广义表的定义和基本操作原创 2016-03-04 16:47:12 · 1876 阅读 · 0 评论 -
第2章第3节练习题3 串的模式匹配(BM)
设有主串S和子串T,子串T的定位就是要在主串S中找到一个与子串T相等的子串。原创 2016-02-29 13:55:17 · 750 阅读 · 0 评论 -
第2章第3节练习题2 串的模式匹配(KMP)
设有主串S和子串T,子串T的定位就是要在主串S中找到一个与子串T相等的子串。原创 2016-01-23 22:49:54 · 5328 阅读 · 0 评论 -
第2章第3节练习题1 串的模式匹配(Naive)
设有主串s和子串t,子串t的定位就是要在主串s中找到一个与子串t相等的子串。通常把主串s称为目标串,把子串t称为模式串,因此定位也称作模式匹配。 模式匹配成功是指在目标串s中找到一个模式串t;不成功则指目标串s中不存在模式串t。原创 2016-01-17 22:21:05 · 2021 阅读 · 1 评论 -
第2章第3节 串
讲述了串的基本定义,操作等原创 2016-01-16 17:41:34 · 1269 阅读 · 0 评论 -
第2章第2节练习题3 使用队列模拟渡口管理
汽车轮渡口,过江渡船每次能载10辆车过江。过江车分为客车和货车类,上渡船有如下规定:1).同类车先到先上船; 2).客车先于货车上渡船,其每上4辆客车,才允许放上一辆货车;3).若等待客车不足4辆,则以货车代替; 4).若无货车等待,允许客车都上船。试设计一个算法模拟渡口管理。原创 2016-01-16 15:10:16 · 4210 阅读 · 0 评论 -
第2章第2节练习题2 使用栈模拟队列操作
利用两个栈S1,S2来模拟一个队列,实现队列的入队,出队,判空操作原创 2016-01-15 18:11:53 · 1686 阅读 · 0 评论 -
第2章第2节练习题1 逆置队列
Q是一个队列,S是一个空栈,实现将队列中的元素逆置的算法原创 2016-01-15 17:53:41 · 4420 阅读 · 4 评论 -
第2章第2节 队列
简单介绍了四种不同的队列——顺序队列,循环队列,链队列,双端队列。并且对其基本操作进行了简单介绍。原创 2016-01-15 16:03:02 · 1367 阅读 · 2 评论 -
第2章第1节练习题3 共享栈的基本操作
设有两个栈s1,s2都采用顺序栈方式,并且共享一个存储区[0,…,MaxSize-1],为了尽量利用空间,减少溢出的可能,可采用栈顶相向,迎面增长的方式。原创 2016-01-15 15:59:41 · 3633 阅读 · 1 评论 -
第2章第1节练习题2 判断是否中心对称
试写一算法来判断单链表的前n个字符是否中心对称。原创 2016-01-14 17:45:03 · 2849 阅读 · 0 评论 -
第2章第1节练习题1 判断栈的操作次序是否合法
假设I和O分别表示入栈和出栈操作。栈的初状和终态均为空,入栈和出栈的操作序列可表示仅由I和O组成的序列,可以操作的序列称为合法序列,否则称为非法序列。试写一个算法完成对于输入序列的合法性的判断。原创 2016-01-14 17:27:36 · 4966 阅读 · 2 评论 -
第2章第1节 栈
简单介绍了栈的三种不同表现形式——顺序栈;共享栈;链栈 的概念以及基本操作...原创 2016-01-14 16:16:23 · 1105 阅读 · 0 评论 -
第2章受限的线性表
栈,队列和串的定义以及基本操作的简介...原创 2016-01-14 14:09:39 · 2850 阅读 · 0 评论 -
第1章第3节 线性表的比较
线性表的总结,简单的比较了顺序表和单链表的基本特点,以及现实生活中的选择原则...原创 2016-01-14 10:06:19 · 1306 阅读 · 0 评论 -
第1章第2节练习题22 按结点访问频度排序
设头指针为L的带有表头结点的非循环双向链表,在链表被启用前,其值均初始化为零。每当在连表中进行一次Locate(L,x)运算时,令元素值为x的结点中freq域的值增1,并使此链表中结点保持按访问频度非递增的顺序排列,同时最近访问的结点排在频度相同的结点的前面,以便使频繁访问的结点总是靠近表头。原创 2016-01-13 16:05:31 · 1988 阅读 · 0 评论 -
第1章第2节练习题21 输出并删除最小值结点
设有一个带头结点的循环单链表,其结点值均为正整数。设计一个算法,反复找出单链表中结点值的最小的结点并输出,然后将该结点从中删除,直到单链表空为止,最后删除头结点原创 2016-01-13 15:52:49 · 1034 阅读 · 0 评论 -
第1章第2节练习题20 连接两个循环单链表
有两个循环单链表,链表头指针分别为h1和h2,编写一个函数将链表h2连接到链表h1之后,要求链表后的链表仍保持循环链表的形式原创 2016-01-13 15:43:12 · 1807 阅读 · 0 评论 -
第1章第2节练习题19 判断循环双链表对称
设计一算法用于判断带头结点的循环双链表是否对称原创 2016-01-13 15:28:25 · 2983 阅读 · 1 评论 -
第1章第2节练习题18 求两个单链表的交集
已知两个链表A和B分别表示两个集合,其元素递增排列。编写函数,求A与B的交集,并存放于A链表中原创 2016-01-13 15:03:25 · 3837 阅读 · 8 评论