自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 编写算法找到二叉树中任意两个结点p和q的最近公共祖先结点r

编写算法找到二叉树中任意两个结点p和q的最近公共祖先结点r采用后序非递归算法,栈中存放二叉树结点的指针,当访问到某节点时,栈中所有元素均为该结点的祖先,然后将这些元素复制到一个辅助栈中。最后把两个辅助栈当成两个普通数组,从0号元素开始访问,相同则记录位置,不同则退出,返回最后记录的位置的结点,就是最近公共祖先。栈的基本操作以严蔚敏编写的教材为准。BiTree Ancestor(BiTree ...

2020-04-22 14:31:30 3726 9

原创 在二叉树中查找值为x的结点,打印值为x的结点的所有祖先,假设值为x的结点不多于一个。

在二叉树中查找值为x的结点,打印值为x的结点的所有祖先,假设值为x的结点不多于一个。采用非递归后序遍历算法,最后访问根节点,访问到值为x的结点时,栈中所有元素为该结点的祖先,从栈底到栈顶结点再加上当前访问的结点,刚好构成从根节点到当前访问结点的一条路径。在很多算法设计中都可以利用这一思路来求解,如求根到某结点的路径、求两个结点的最近公共祖先等。栈的基本操作以严蔚敏编写的教材为准。void P...

2020-04-21 21:42:45 10833 9

原创 Ant Design 踩坑、问题(一)

Ant Design 踩坑、问题(一)问题:Ant Design点击Select弹出的下拉菜单,页面滚动时,下拉菜单也跟着滚动,这是因为PopupContainer默认设置为了document.body,一般情况下我们只需要按照官方文档进行如下设置,将下拉弹层渲染节点固定在触发器的父元素中便没有问题。但进行了如上设置后,虽然下拉菜单不会再跟随页面滚动,但是下拉菜单无法点击,打开浏览器控制台一番查看,需要挂载到往上四个父元素中,才能正常工作,如下:这非常奇怪,于是我继续研究,终于发现原因。是因为我在

2021-04-16 12:06:09 387

原创 2020前端笔试题目(二)

一些前端笔试题目jd单选题1、对数据4,2,8,0,5,1使用归并排序算法,总共需要几趟排序A.2B.3C.4D.52、CSS Sprites的分析,下列说法正确的是?A.会减少请求次数B.会增加网络请求压力C.合成简单,定位容易D.会丢失图片质量3、在浏览器访问一个域名的网站时,其域名解析的过程为:根域名服务器本地域名服务器权限域名服务器os自身DNS缓存读取host文件浏览器自身DNS缓存A.645231B.645312C.623451D.652431

2020-09-21 16:17:18 1335

原创 2020前端面试题目(一)

凭记忆写的,不全1、TCP、UDP的应用场景2、TCP、UDP的区别/特点3、流量控制4、ES6的新特性5、Promise的静态方法6、Vue-CLI是什么7、CSS的flex布局8、JS 的基本数据类型和引用数据类型9、两种类型的区别是什么10、箭头函数和普通函数有什么不同11、JS实现异步编程的方法12、CSS引入方式13、link和@import的区别14、代码输出,执行顺序new Promise(function (resolve, reject) { consol

2020-09-15 11:33:14 222

原创 2020前端笔试题目(一)

一些前端笔试题目选择题1、在JS中,不属于数组方法的是A.length()B.concat()C.reverse()D.sort()参考答案:A2、下面代码输出什么function sayHi(){ console.log(a); console.log(b); var a = "hello"; let b = "oppo";}A.ReferenceError 和 oppoB.undefined 和 ReferenceErrorC.hello 和 undefinedD.

2020-08-31 00:00:54 2332 2

原创 试编写一个算法,使之能够在数组L[1...n]中找出第k小的元素(即从小到大排序后处于第k个位置的元素)

试编写一个算法,使之能够在数组L[1…n]中找出第k小的元素(即从小到大排序后处于第k个位置的元素)重要的事情说三遍:代码不是我写的!代码不是我写的!代码不是我写的!这是王道数据结构第8章第3节的一道题,记录在博客上方便以后回顾。如有谬误或者不足还请批评指正!以下是书上对该题的解答:本题最直接的做法是用排序算法对数组先进行从小到大的排序,然后直接提取L(k)便得到了第k小元素,但其平均时间复杂度将达到O(nlog2n)以上。此外,还可采用小顶堆的方法,每次堆顶元素都是最小值元素,时间复杂度为O(n

2020-05-23 18:16:05 1791 1

原创 TopologicalSort(拓扑排序)

TopologicalSort(拓扑排序)重要的事情说三遍:代码不是我写的!代码不是我写的!代码不是我写的!是严蔚敏数据结构(C语言版)上写的,记录在博客上以后比较好找。如有谬误或者不足还请批评指正!Status TopologicalSort(ALGraph G){ //有向图G采用邻接表存储结构 //若G无回路,则输出G的顶点的一个拓扑序列并返回OK,否则ERROR FindInDegree(G, indegree); //对各顶点求入度indegree[0...G.vexnum-1]

2020-05-09 15:59:58 708

原创 Dijkstra(迪杰斯特拉)算法求单源最短路径问题

Dijkstra(迪杰斯特拉)算法求单源最短路径问题重要的事情说三遍:代码不是我写的!代码不是我写的!代码不是我写的!第一个算法是严蔚敏数据结构(C语言版)上写的,第二个算法是王道数据结构上写的,我想着记录在博客上以后比较好找。如有谬误或者不足还请批评指正!void ShortestPath_DIJ(MGraph G, int v0, PathMatrix &P, ShortPat...

2020-05-08 16:02:13 565

原创 树、图的常用性质

树、图的常用性质如有谬误或者不足还请批评指正!二叉树:n 个结点的树中有 n-1 条边树中的结点数等于所有结点的度数加一度为 m 的树中第i层上至多有 mi-1 个结点(i>=1)高度为 h 的 m 叉树至多有 (mh-1)/(m-1) 个结点具有 n 个结点的 m 叉树的最小高度为 ⌈logm(n(m-1)+1)⌉总结点数 = n0+n1+n2+…+nm总分支数 = 1...

2020-05-01 11:59:25 631

原创 例题:设二叉树的存储结构为二叉链表,编写有关二叉树的递归算法

例题:设二叉树的存储结构为二叉链表,编写有关二叉树的递归算法如有谬误或者不足还请批评指正!(1)统计二叉树中度为0、1、2的结点个数int num_0 = 0, num_1 = 0, num_2 = 0;void CountNode(BiTree T){ if (T == NULL) return; if ((T->lchild && !T->rch...

2020-04-29 16:26:20 8732 6

原创 判断给定的二叉树是否是二叉排序树

判断给定的二叉树是否是二叉排序树根据二叉排序树的定义,左子树结点值 < 根结点值 < 右子树结点值,所以对二叉排序树进行中序遍历(LNR),可以得到一个递增的有序序列。因此,对给定的二叉树进行中序遍历,若始终能保持前一个值小于后一个值,则说明该二叉树是一颗二叉排序树。栈的基本操作以严蔚敏编写的教材为准。如有谬误或者不足还请批评指正!基于非递归中序遍历算法判断:int pre ...

2020-04-28 16:56:18 10101 1

原创 在二叉排序树中删除一个结点

二叉排序树的删除在二叉排序树中删除一个结点时,不能把以该结点为根的子树上的结点都删除,必须先把被删除结点从存储二叉排序树的链表上摘下,将因删除结点而断开的二叉链表重新链接起来,同时确保二叉排序树的性质不会丢失。二叉排序树的删除要考虑三种情况:若被删除结点x是叶子结点,则直接删除,并修改x的父结点的指针为NULL;若被删除结点x只有一棵左子树或右子树,则让x的子树成为x父结点的子树,替代x...

2020-04-25 13:18:01 5102 2

原创 设计算法求以孩子兄弟链表为存储结构的树的深度

设计算法求以孩子兄弟链表为存储结构的树的深度基于层次遍历的非递归算法,逐层遍历树,取得树的高度。队列的基本操作以严蔚敏编写的教材为准。如有谬误或者不足还请批评指正!int GetDepth(CSTree bt){ InitQueue(Q); //初始化队列 CSNode *p = bt; //p为遍历指针 EnQueue(Q, p); //根节点入队 int depth = 0;...

2020-04-24 15:29:48 5167 3

原创 设计算法求二叉树的带权路径长度(WPL)

设计算法求二叉树的带权路径长度(WPL)二叉树的带权路径长度(WPL)是二叉树中所有叶结点的带权路径长度之和。队列的基本操作以严蔚敏编写的教材为准。基于层次遍历的算法:int WPL_LevelOrder (BiTree T){ int L = 0; //L是当前层结点到根节点的路径长度,即所经过的边的个数 int WPL = 0; //WPL为二叉树的带权路径长度 BiTNode...

2020-04-22 20:58:22 5456 1

原创 判断给定二叉树是否是完全二叉树

二叉树按二叉链表形式存储,设计算法判断给定二叉树是否是完全二叉树根据完全二叉树的定义,具有n个结点的完全二叉树与满二叉树中编号从1~n的结点一一对应。算法思想:采用层次遍历算法,将所有结点加入队列(包括空结点)。遇到空结点时,查看其后是否有非空结点。若有,则二叉树不是完全二叉树。队列的基本操作以严蔚敏编写的教材为准。算法实现来自王道的数据结构5.3.3节综合应用题的第7题:bool IsC...

2020-04-22 10:15:18 4073 1

原创 设计一个算法求非空二叉树T的宽度(即具有结点数最多的那一层的结点个数)

设计一个算法求非空二叉树T的宽度(即具有结点数最多的那一层的结点个数)采用非递归层次遍历,队列的长度即为当前层的宽度。队列的基本操作以严蔚敏编写的教材为准。int BiTreeWidth(BiTree T){ InitQueue(Q); //初始化队列 BiTree p = T; //p为遍历指针 int MaxWidth = 0; //宽度初始化为0 EnQueue(Q, p);...

2020-04-21 22:37:13 1218 7

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除