二叉树已知先序和中序或者后序和中序求构造数(这个算法特别神奇)
摘要:首先我先介绍一下关于BST树,BST树又称搜索二叉树,即任意节点的左节点肯定比该节点小,右节点比该节点大。所以当中序遍历的时候,你会惊奇的发现遍历的val竟然是从小到大排序的。 如图就是BST树,先序是5 3 2 1 4 8 7 6 9,中序是1 2 3 4 5 6 7 8 9。知道先序序列后,其实
阅读全文
单例模式
摘要:注:主要看思想,windows下好像不能编译。
阅读全文
自定义String
摘要:class String { private: char* m_str; public: String(const char* str = NULL) { m_str = NULL; if(NULL == str) return; int len = strlen(str); m_str = new char...
阅读全文
Prim算法以及Kruskal算法
摘要:Prim算法主要用于计算最小生成树。算法在选取最小路径的时候需要优化,算法思路:从某个顶点开始,假设v0,此时v0属于最小生成树结点中的一个元素,该集合假设V,剩下的点待选择的点为U,然后找寻V中的点与U中的点组成的路径最短,该点为vk。把V集合加入,U集合移除vk。然后重复以上步骤,知道U集合为空
阅读全文
PAT甲级考前整理(2019年3月备考)之三,持续更新中.....
摘要:PAT甲级考前整理一:https://www.cnblogs.com/jlyg/p/7525244.html,主要讲了131题的易错题及坑点 PAT甲级考前整理二:https://www.cnblogs.com/jlyg/p/10364696.html,主要讲了考前注意以及一些常用算法。 1132题
阅读全文
PAT甲级考前整理(2019年3月备考)之二,持续更新中.....
摘要:PAT甲级考前整理之一网址:https://www.cnblogs.com/jlyg/p/7525244.html,主要总结了前面131题的类型以及易错题及坑点。 PAT甲级考前整理三网址:https://www.cnblogs.com/jlyg/p/10364727.html主要是讲132题开始的
阅读全文
红黑树
摘要:红黑树是一个平衡的二叉树,但不是一个完美的平衡二叉树。虽然我们希望一个所有查找都能在~lgN次比较内结束,但是这样在动态插入中保持树的完美平衡代价太高,所以,我们稍微放松逛一下限制,希望找到一个能在对数时间内完成查找的数据结构。这个时候,红黑树站了出来。 红黑树的性质: 1、节点是红色或者黑色。 2
阅读全文
线程和进程
摘要:什么是进程什么是线程? 我的理解是进程是指在系统中正在运行的一个应用程序;程序一旦运行就是进程,或者更专业化来说:进程是指程序执行时的一个实例。线程是进程的一个实体。进程——资源分配的最小单位,线程——程序执行的最小单位。 线程进程的区别体现在几个方面: 第一:因为进程拥有独立的堆栈空间和数据段,所
阅读全文
二叉树的遍历
摘要:算法题目中有很多关于二叉树遍历的题目,以下就简要说一下可能的情况: 1、已知先序和中序,求后序。比如先序1 2 3 4 6 7 5,中序2 1 6 4 7 3 5。主要步骤有:1、求当前父节点,该节点是当前先序序列的第一个。2、在中序节点中找出该父节点的位置(i,从0开始计数)。3、获得左右孩纸节点
阅读全文
背包问题简单整理
摘要:hdu2546,01背包,需要有点变形,计算时需要把价格最大的菜先放一边,最后计算。 #include<iostream> #include<cstdio> #include<set> #include<map> #include<vector> #include<iterator> #includ
阅读全文