
算法和数据结构
sqrt_2
创建一个类叫高兴,实例化出一个对象叫开心
展开
-
二维数组中的查找引申
行列的有序性允许我们使用二分查找原创 2019-07-24 20:50:43 · 129 阅读 · 1 评论 -
C++实现单链表的操作
C++、单链表的操作原创 2019-09-04 00:39:47 · 325 阅读 · 1 评论 -
二分查找及其优化
二分查找和斐波那契查找原创 2019-08-29 12:36:16 · 1247 阅读 · 1 评论 -
减而治之和分而治之在数组中的应用
二分递归原创 2019-08-16 21:16:08 · 348 阅读 · 1 评论 -
线索化二叉树
在二叉树的结点上加上线索的二叉树称为线索二叉树,对二叉树以某种遍历方式(如先序、中序、后序或层次等)进行遍历,使其变为线索二叉树的过程称为对二叉树进行线索化。原创 2019-07-28 20:34:51 · 148 阅读 · 2 评论 -
重建二叉树
描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 时间:2019-07-28 13:30 函数名:printListFromTailToHead 在前序遍历的数组中依次查找根节点,记录...原创 2019-07-28 15:49:24 · 105 阅读 · 1 评论 -
替换空格
空格替换,掌握先开空间,再从后向前拷贝的思想,然后熟练运用指针来操纵数组的边界即可。原创 2019-07-27 17:11:17 · 138 阅读 · 1 评论 -
斐波那契数列及其优化
描述:求斐波那契数列的第n项。写一个函数,输入n,求斐波那契数列的第n项。 时间:2019-07-31 20:27 类名:fibonacci 斐波那契数列 又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, …F(n)=F(n-1)+F(n-2),即从第三项开始每一项都等...原创 2019-08-01 01:49:02 · 423 阅读 · 1 评论 -
用两个队列实现一个栈
描述:用两个栈实现一个队列。用两个队列实现栈,栈的声明如下,分别实现栈的push()函数和topAnddelete()函数,用来完成在栈的顶部插入和删除(返回栈顶值)的操作 时间:2019-07-31 20:27 类名:CStack分析 通过一系列的栈的压入和弹出操作来分析用队列模拟一个栈的过程,如图所示,我们先往栈内压入一个元素a。由于两个队列现在都是空,我们可以选择把a插入两...原创 2019-07-31 21:28:10 · 283 阅读 · 1 评论 -
用两个栈实现队列(尾插头删)
描述:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deletedHead,分别完成在队列尾部插入节点和在队列头部删除节点的功能。 时间:2019-07-31 16:20 类名:CQueue分析 入队列的操作就等同于栈stack1.push()操作。 栈stack1满并且栈stack2不为空时,队列满 出队列时首先要判断栈stack2是否为...原创 2019-07-31 20:24:33 · 278 阅读 · 1 评论 -
二级指针
用于存放二级指针的变量称为二级指针变量.根据B的不同情况,二级指针又分为指向指针变量的指针和指向数组的指针。原创 2019-07-22 23:10:05 · 1641 阅读 · 4 评论 -
二叉树的下一个节点
描述:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。 注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 时间:2019-07-28 16:07 函数名:getNext分析 首先这道题给出的是中序遍历这个二叉树,那么就是左根右。我们在求一个结点的下一个结点,那么这个时候我们需要分情况讨论:1、如果该结点有右子树,则该结点的下一...原创 2019-07-31 18:13:49 · 122 阅读 · 1 评论 -
KMP算法详解
在文本编辑中,我们经常要在一段文本中某个特定的位置找出 某个特定的字符或模式。 由此,便产生了字符串的匹配问题。 首先,我们从简单的字符串匹配算法开始,再到KMP算法,由浅入深,教你从头到尾彻底理解KMP算法。...原创 2019-07-30 17:45:40 · 158 阅读 · 1 评论 -
二叉树的建立
遍历二叉树,就是按一定的规则和顺序走遍二叉树的所有结点,使每一个结点都被访问一次,而且只被访问一次。由于二叉树是非线性结构,因此,树的遍历实质上是将二叉树的各个结点转换成为一个线性序列来表示。设L、D、R分别表示遍历左子树、访问根结点和遍历右子树, 则对一棵二叉树的遍历有三种情况:DLR(称为先根次序遍历),LDR(称为中根次序遍历),LRD (称为后根次序遍历)。原创 2019-07-21 16:47:16 · 1597 阅读 · 2 评论 -
归并排序
归并排序、分而治之原创 2019-09-04 23:58:09 · 157 阅读 · 1 评论