![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 62
Mirrors_KE
这个作者很懒,什么都没留下…
展开
-
根据二叉树的前序和中序找到给定结点的公共祖先
题目: 如果已知二叉树的前序遍历结果和中序遍历结果,分别用S1,S2表示,其中的字符代表树的结点。设计算法求距离指定的两个结点最近的共同祖先。 给定任意一棵树,如图所示。 前序 A B C D E F G H 中序 B D C A F E G H 易知,如果给定的结点分别在某节点左儿子,右儿子上,则根节点就是最近的祖先结点。 如果在单支树上,则需要模拟遍历过程。 假设给定C、D 模拟过程如下: A在CD右侧,则CD在A的左子树,前序指针后移一位 B在CD左侧,则CD在A的右子树.原创 2021-11-02 09:52:18 · 348 阅读 · 1 评论 -
二叉树的部分操作
二叉树部分操作原创 2021-10-25 20:38:44 · 152 阅读 · 0 评论 -
线程与工作时间
有n个线程,需要执行m个作业,不考虑线程切换等因素,来执行完这些任务最快需要多少时间。 输入: n:n个线程 m:m个任务,每个代表执行时间。 输出:最快施行时间 样例输入:3 1 3 2 4 5 样例输出:5 思路: 作业调度算法有FCFS以及SJF 由于同时到达一批任务,尝试用SJF的方.原创 2021-10-11 10:54:17 · 346 阅读 · 0 评论 -
1098 Insertion or Heap Sort (25 分)以及堆排序思想
给定序列长度n,给定初始序列,再给定经过若干次排序后的序列,判断是插入排序还是堆排序,并进行下一次排序。题目链接 思路: 插入排序特点:序列前半部分有序,后半部分不变。 堆排序特点:后半部分有序,前半部分无序,也无规律,所以如果通过判断后半部分有序可能也可以判断是哪一种排序。 这里给出先判断插入排序,如果是插入排序,那么只要进行下一次排序就好了,否则就是堆排序,前面提到,由于堆排序后半部分有序,则可以判断下一个需要排序的位置。而不用从头开始推演一遍,对于每个序列进行比较。 堆排序通用模板要点: 最后一个.原创 2021-08-29 21:41:48 · 68 阅读 · 0 评论 -
C指针学习总结
指针 在内存中通过地址访问变量单位,将地址形象化地称为指针指针。 通过变量名对变量进行访问称为“直接访问”。 通过指针存储变量地址,通过指针访问变量称为“间接访问”。 简而言之:一个变量的地址称为该变量的"指针" 如果有一个变量专门存放另一个变量的地址(指针),则该变量为“指针变量” 指针变量 #include<stdio.h> int main() //例1 { int a=100; int *p=&a; printf("%d %d %o",a,*p,p);//输出a的原创 2021-08-12 10:16:02 · 903 阅读 · 0 评论